پایگاه داده منطقه زمانی کیست؟ توضیح بده.
پایگاه داده منطقه زمانی مجموعه ای مشترک از اطلاعات مربوط به مناطق زمانی جهان و قوانین برای مشاهده ساعت تابستانی است که در درجه اول برای استفاده با برنامه های کامپیوتری و سیستم عامل ها در نظر گرفته شده است. پل اگرت از سال 2005 ویراستار و نگهبان آن با حمایت سازمانی ICANN بوده است پایگاه داده tz همچنین به عنوان tzdata، پایگاه داده zoneinfo یا پایگاه داده منطقه زمانی IANA (پس از Internet Assigned Numbers Authority) و گاهی اوقات به عنوان پایگاه داده اولسون شناخته می شود که به مشارکت کننده موسس، آرتور دیوید اولسون اشاره می کند.نامگذاری یکنواخت آن برای ورودی های پایگاه داده، مانند آمریکا / نیویورک و اروپا / پاریس، توسط پل اگرت طراحی شده است. پایگاه داده تلاش می کند تا مناطق زمانی تاریخی و تمام تغییرات مدنی را از سال 1970، یعنی دوره زمانی یونیکس، ثبت کند. همچنین ثانیه های کبیسه را ثبت می کند. پایگاه داده، و همچنین برخی از کد منبع مرجع، در مالکیت عمومی است. نسخه‌های جدید پایگاه داده و کد معمولاً چندین بار در سال به‌صورت ضمانت تغییرات منتشر می‌شوند.ساختار داده ها.تعریف منطقه زمانی.در پایگاه داده منطقه زمانی، منطقه زمانی هر منطقه ملی است که در آن ساعت های محلی همه از سال 1970 توافق کرده اند. این تعریف ابتدا به مناطق جغرافیایی مربوط می شود که دارای ساعت های محلی ثابت بوده اند. یک منطقه زمانی با یک منطقه با یک فاصله زمانی استاندارد خاص از UTC متفاوت است، که اغلب به عنوان "منطقه زمانی" نامیده می شود. بنابراین، هر یک از مناطق زمانی تعریف شده توسط پایگاه داده منطقه زمانی ممکن است از چندین انحراف از UTC استفاده کند، مانند انحراف برای زمان استاندارد و ساعت تابستانی.فرمت های فایل.پایگاه داده منطقه زمانی به عنوان مجموعه ای از فایل های متنی منتشر می شود که قوانین و انتقال منطقه را در قالبی قابل خواندن توسط انسان فهرست می کند. برای استفاده، این فایل‌های متنی در مجموعه‌ای از فایل‌های باینری مستقل از پلتفرم کامپایل می‌شوند - یکی در هر منطقه زمانی. کد منبع مرجع شامل چنین کامپایلری به نام zic (کامپایلر اطلاعات منطقه) و همچنین کدی برای خواندن آن فایل ها و استفاده از آنها در API های استاندارد مانند : codice_1 و codice_2 محدوده های زمانی.هر منطقه زمانی دارای یک یا چند "خط منطقه" در یکی از فایل های متنی پایگاه داده منطقه زمانی است. اولین خط منطقه برای یک منطقه زمانی نام منطقه زمانی را می دهد. هر خط منطقه بعدی برای آن منطقه زمانی، نام آن را خالی می گذارد، که نشان می دهد برای همان منطقه خط قبلی اعمال می شود. هر خط منطقه برای یک منطقه، برای گستره ای از تاریخ و زمان، انحراف به UTC برای زمان استاندارد، نام مجموعه قوانین حاکم بر زمان تابستانی (یا خط فاصله اگر همیشه زمان استاندارد اعمال می شود) را مشخص می کند. اختصارات منطقه زمانی، و برای همه به جز آخرین خط منطقه، تاریخ و زمانی که محدوده تاریخ و زمانی تحت کنترل آن خط به پایان می رسد.قوانین زمان تابستانی (DST).قوانین مربوط به ساعت تابستانی در مجموعه قوانین نامگذاری شده مشخص شده است. هر مجموعه قوانین دارای یک یا چند خط قانون در فایل های متنی است. یک خط قانون حاوی نام مجموعه قوانینی است که به آن تعلق دارد، اولین سالی که قانون در آن اعمال می‌شود، آخرین سالی که این قانون در آن اعمال می‌شود (یا «فقط» اگر فقط در یک سال اعمال شود یا «حداکثر» اگر این قانون اعمال شود. این قاعده در آن صورت عمل می کند)، نوع سالی که این قانون در مورد آن اعمال می شود ("-" اگر برای همه سال ها در محدوده مشخص شده اعمال شود، که تقریباً همیشه همینطور است، در غیر این صورت نامی به عنوان آرگومان برای یک اسکریپت استفاده می شود که نشان می دهد که آیا سال از نوع مشخص شده است یا خیر)، ماهی که قانون در آن اجرا می شود، روزی که قانون در آن اجرا می شود (که می تواند یک روز خاص باشد یا مشخصه ای مانند "آخرین یکشنبه ماه") ، زمانی از روز که قانون در آن اعمال می شود، مدت زمانی که باید به انحراف به UTC اضافه شود، و حرف یا حروفی که در مخفف منطقه زمانی استفاده می شود (به عنوان مثال، "S" اگر این قاعده بر زمان استاندارد حاکم است و اگر بر ساعت تابستانی حاکم باشد "D").نام مناطق زمانی.مناطق زمانی نام‌های منحصربه‌فردی به شکل «منطقه / مکان» دارند، به‌عنوان مثال. "آمریکا / نیویورک". همچنین انتخابی برای استفاده از نام‌ها یا معادل‌های انگلیسی و حذف علائم نگارشی و پسوندهای رایج انجام شد. کاراکتر زیر خط به جای فاصله ها استفاده می شود. خط فاصله در جایی استفاده می شود که در نام یک مکان ظاهر می شود. نام منطقه و مکان حداکثر 14 کاراکتر طول دارند.حوزه.منطقه نام یک قاره، یک اقیانوس یا «و غیره» است. قاره ها و اقیانوس های مورد استفاده عبارتند از آفریقا، آمریکا، قطب جنوب، قطب شمال، آسیا، اقیانوس اطلس، استرالیا، اروپا، هند و اقیانوس آراماز آنجایی که برخی از جزایر به سختی به یک قاره خاص متصل می شوند، اقیانوس ها را شامل می شود. برخی از آنها از نظر جغرافیایی به یک قاره و از نظر سیاسی به قاره ای دیگر متصل هستند. همچنین به مرزهای بین قاره ها مراجعه کنید.منطقه ویژه "Etc" برای برخی از مناطق اداری استفاده می شود، به ویژه برای "Etc / UTC" که نشان دهنده زمان هماهنگ جهانی است. به منظور تطابق با سبک POSIX، نام مناطقی که با "Etc / GMT" شروع می شوند، علامتشان از استاندارد ISO 8601 معکوس شده است. در منطقه "Etc"، مناطق غرب GMT دارای علامت مثبت و مناطق شرقی دارای علامت منفی در نام خود هستند (به عنوان مثال "Etc / GMT-14" 14 ساعت جلوتر از GMT است).محل.مکان نام یک مکان خاص در داخل منطقه است - معمولاً یک شهر یا جزیره کوچکنام کشورها معمولاً در این طرح استفاده نمی شود، در درجه اول به این دلیل که به دلیل تغییرات مکرر سیاسی و مرزی، قوی نیستند. نام شهرهای بزرگ معمولاً دائمی‌تر است.[معمولاً پرجمعیت‌ترین شهر در یک منطقه برای نشان دادن کل منطقه زمانی انتخاب می‌شود، اگرچه ممکن است شهر دیگری انتخاب شود، اگر بیشتر شناخته شده باشد، و مکان دیگری، از جمله مکانی غیر از یک شهر، اگر منجر به نام مبهم کمتری شود، ممکن است مورد استفاده قرار گیرد. در صورتی که نام مکان مورد استفاده برای نشان دادن منطقه زمانی تغییر کند، قرارداد ایجاد نام مستعار در نسخه‌های آینده است تا نام قدیمی و جدید به هر دو اشاره داشته باشد. به همان ورودی پایگاه داده.در برخی موارد مکان خود به عنوان یک نام ترکیبی نشان داده می شود، برای مثال منطقه زمانی "America / Indiana / Indianapolis". نام‌های سه سطحی عبارتند از: «آمریکا / آرژانتین / .»، «آمریکا / کنتاکی / .»، «آمریکا / ایندیانا / .» و «آمریکا / داکوتای شمالی / »مکان انتخاب شده نماینده کل منطقه است. با این حال، اگر قبل از سال 1970 تفاوت هایی در داخل منطقه وجود داشته باشد، قوانین منطقه زمانی فقط در مکان ذکر شده اعمال می شود.منطقه مثال و خطوط قانون.اینها خطوط قوانینی برای قوانین استاندارد زمان تابستانی ایالات متحده هستند، خطوط قوانین برای قوانین زمان تابستانی که در برخی سالها در منطقه زمانی شرقی ایالات متحده (به نام "NYC" به عنوان شهر نیویورک شهری است که آن منطقه را نشان می دهد) اجرا می شود. و خطوط منطقه برای منطقه زمانی آمریکا / نیویورک، از نسخه انتشار tzdata2011n پایگاه داده منطقه زمانی. خطوط منطقه و قوانین منعکس کننده تاریخ DST در ایالات متحده است.Rule US 1918 1919 - Mar lastSun 2:00 1:00 DRule US 1918 1919 - Oct lastSun 2:00 0 SRule US 1942 only - Feb 9 2:00 1:00 W # WarRule US 1945 only - Aug 14 23:00u 1:00 P # PeaceRule US 1945 only - Sep 30 2:00 0 SRule US 1967 2006 - Oct lastSun 2:00 0 SRule US 1967 1973 - Apr lastSun 2:00 1:00 DRule US 1974 only - Jan 6 2:00 1:00 DRule US 1975 only - Feb 23 2:00 1:00 DRule US 1976 1986 - Apr lastSun 2:00 1:00 DRule US 1987 2006 - Apr Sun&gt;=1 2:00 1:00 DRule US 2007 max - Mar Sun&gt;=8 2:00 1:00 DRule US 2007 max - Nov Sun&gt;=1 2:00 0 SRule NYC 1920 only - Mar lastSun 2:00 1:00 DRule NYC 1920 only - Oct lastSun 2:00 0 SRule NYC 1921 1966 - Apr lastSun 2:00 1:00 DRule NYC 1921 1954 - Sep lastSun 2:00 0 SRule NYC 1955 1966 - Oct lastSun 2:00 0 SZone America/New_York -4:56:02 - LMT 1883 November 18, 12:03:58 -5:00 US E%sT 1920 -5:00 NYC E%sT 1942 -5:00 US E%sT 1946 -5:00 NYC E%sT 1967 -5:00 US E%sTداده های ذخیره شده برای هر منطقه.برای هر منطقه زمانی که چندین فاصله دارد (معمولاً به دلیل ساعت تابستانی)، پایگاه داده منطقه زمانی لحظه دقیق انتقال را ثبت می کند. این قالب می‌تواند تغییراتی در تاریخ و زمان انتقال نیز داشته باشد. مناطق ممکن است تغییرات قوانین تاریخی داشته باشند که به چندین دهه قبل برمی گردد (همانطور که در مثال بالا نشان داده شده است).Zone.tab.فایل zone.tab در دامنه عمومی است و مناطق را فهرست می کند. ستون ها و مرتب سازی ردیف ها در نظرات فایل به شرح زیر است:&lt;syntaxhighlight&gt; # Columns are separated by a single tab.&lt;/syntaxhighlight&gt;داده های قبل از سال 1970.هدف از داده‌های قبل از سال 1970 این است که برای شهر شناسایی کننده منطقه صحیح باشد، اما لزوماً برای کل منطقه صحیح نیست. این به این دلیل است که از سال 1970، مناطق جدید فقط برای تشخیص ساعت ها ایجاد می شوند.به عنوان مثال، بین سال های 1963-10-23 و 1963-12-09 در برزیل فقط ایالت های میناس ژرایس، اسپیریتو سانتو، ریودوژانیرو و سائوپائولو زمان تابستانی داشتند. با این حال، درخواست جدایی از آمریکا / سائوپائولو در سال 2010 با این استدلال که از سال 1970، ساعت‌ها در کل منطقه یکسان است، رد شد.زمان در آلمان، که توسط اروپا / برلین نشان داده می‌شود، برای سال 1945 که Trizone از قوانین ساعت تابستانی متفاوت از برلین استفاده می‌کرد، نادرست است.پوشش.مناطقی که چندین کشور پس از 1970 را پوشش می دهند.دو منطقه وجود دارد که منطقه ای را پوشش می دهد که پس از سال 1970 توسط دو کشور تحت پوشش قرار گرفته است. پایگاه داده از تعاریف کشورها مطابق با ISO 3166-1 پیروی می کند که نسخه قبلی آن، ISO 3166، برای اولین بار در سال 1974 منتشر شد.نگهداری.کد مرجع منطقه زمانی و پایگاه داده توسط گروهی از داوطلبان نگهداری می شود. آرتور دیوید اولسون بیشتر تغییرات را در کد مرجع منطقه زمانی انجام می دهد. Paul Eggert بیشتر تغییرات را در پایگاه داده منطقه زمانی انجام می دهد. تغییرات پیشنهادی به لیست پستی منطقه زمانی ارسال می شود که درگاهی به گروه خبری comp.time.tz Usenet است. فایل های منبع از طریق سرور IANA FTP توزیع می شوند. به طور معمول، این فایل‌ها توسط توزیع‌کننده نرم‌افزاری مانند Debian گرفته می‌شوند، کامپایل می‌شوند و سپس منبع و باینری‌ها به عنوان بخشی از آن توزیع بسته‌بندی می‌شوند. کاربران نهایی می‌توانند به رویه‌های به‌روزرسانی توزیع نرم‌افزار خود تکیه کنند، که ممکن است با تأخیر همراه باشد، یا منبع را مستقیماً دریافت کرده و خود فایل‌های باینری را بسازند. IETF RFC 6557 را منتشر کرده است، «روش‌هایی برای حفظ پایگاه داده منطقه زمانی» که بهترین شیوه‌ها را بر اساس اصول مشابه مستند می‌کند.سیستم های یونیکس مانند.مسیر استاندارد برای پایگاه داده منطقه زمانی codice_3 در توزیع‌های لینوکس، macOS و برخی دیگر از سیستم‌های مشابه یونیکس است.استفاده و پسوند.مرزهای مناطق زمانی.مرزهای جغرافیایی در قالب مجموعه مختصات بخشی از پایگاه داده منطقه زمانی نیستند، اما مرزها توسط Evan Siroky در قالب‌های GeoJSON و shapefile منتشر می‌شوند.استفاده در استانداردهای دیگر.مخزن داده های محلی مشترک یونیکد (CLDR) به مناطقی در پایگاه داده منطقه زمانی اشاره دارد. با این حال، از آنجایی که نام یک منطقه می تواند از یک نسخه پایگاه داده منطقه زمانی به دیگری تغییر کند، CLDR UN / LOCODE را برای شهر مورد استفاده در نام منطقه، یا یک کد اختصاص داده شده داخلی در صورتی که چنین شهری برای منطقه وجود نداشته باشد، اختصاص می دهد. منطقه، به یک منطقه پایگاه داده منطقه زمانی.استفاده در سیستم های نرم افزاری.پایگاه داده منطقه زمانی برای پردازش منطقه زمانی و تبدیل در بسیاری از سیستم های نرم افزاری کامپیوتری از جمله:شناسه‌های منطقه زمانی اولسون همچنین توسط مخزن داده‌های محلی مشترک یونیکد (CLDR) و مؤلفه‌های بین‌المللی برای یونیکد (ICU) استفاده می‌شوند. به عنوان مثال، جدول CLDR Windows–Tzid شناسه‌های منطقه زمانی مایکروسافت ویندوز را به نام‌های استاندارد اولسون ترسیم می‌کند، اگرچه چنین نگاشتی نمی‌تواند کامل باشد زیرا تعداد مناطق زمانی در سیستم‌های ویندوز به طور قابل‌توجهی کمتر از پایگاه داده IANA TZ استتاریخ.منشا این پروژه به سال 1986 یا قبل از آن برمی گردد.دعوای حقوقی 2011.در 30 سپتامبر 2011، دعوی حقوقی، Astrolabe، Inc. علیه اولسون و همکاران، در مورد حق چاپ در پایگاه داده ثبت شد. در نتیجه، در 6 اکتبر 2011، فهرست پستی پایگاه داده و سایت FTP بسته شد. این پرونده حول استفاده نگهبانان پایگاه داده از The American Atlas، توسط Thomas G. Shanks، و The International Atlas، توسط Thomas G. Shanks بود. و ریک پوتنگر این سازمان از بازتولید غیرمجاز داده‌های اطلس در آرشیو فهرست پستی منطقه زمانی و در برخی از مجموعه‌های پیوند کمکی که با پایگاه داده نگهداری می‌شوند، شکایت کرد، اگرچه در واقع به خود پایگاه داده اشاره نکرد. این شکایت فقط به گردآوری داده‌های منطقه زمانی تاریخی مربوط می‌شود و جداول منطقه زمانی جهان tzdata موجود را پوشش نمی‌دهداین دعوا در 22 فوریه 2012 پس از مشارکت بنیاد مرز الکترونیکی حل شد، زمانی که اسطرلاب به طور داوطلبانه اقدام به رد دعوا کرد بدون اینکه هرگز به متهمان ابلاغ شود و با عهد و پیمانی موافقت کرد که در آینده شکایت نکند.به ICANN بروید.ICANN مسئولیت نگهداری پایگاه داده را در 14 اکتبر 2011 بر عهده گرفت. پایگاه داده کامل و شرح برنامه های نگهداری آن به صورت آنلاین از IANA در دسترس است.