مبدل تاریخ
پیکربندی
قالب
قالب تایماستمپ
منطقه زمانی
مبدأ سفارشی
بهجای مبدأ یونیکس (1970-01-01) از یک مبدأ سفارشی استفاده کنید
مهر زمانی
ISO 8601
تاریخ و زمان
خروجی قالببندیشده
جزئیات فنی
مبدل تاریخ چگونه کار میکند
این ابزار چه کاری انجام میدهد
مبدل تاریخ، تاریخها و تایماستمپها را بین قالبهای قابل خواندن برای انسان و تایماستمپهای یونیکس (epoch time) تبدیل میکند. این مبدل تایماستمپ یونیکس و مبدل تایماستمپ، تبدیل دوطرفه را انجام میدهد: تاریخ به تایماستمپ و تایماستمپ به تاریخ. وقتی به قابلیت تبدیل unix timestamp، unix time converter یا epoch time converter نیاز دارید، این ابزار نتیجهٔ فوری ارائه میدهد. مبدل رشتههای تاریخ ISO 8601 و فیلدهای ساختاریافتهٔ تاریخ (سال، ماه، روز، ساعت، دقیقه، ثانیه) را میپذیرد و آنها را به تایماستمپ یونیکس تبدیل میکند. همچنین تایماستمپهای یونیکس را در قالب ثانیه و میلیثانیه (شما قالب را انتخاب میکنید) مدیریت میکند و آنها را به تاریخهای قابل خواندن در منطقههای زمانی مختلف تبدیل میکند. این مبدل میلیثانیه، تاریخها را بهصورت همزمان در چندین قالب نمایش میدهد: زمان UTC، زمان محلی (منطقهٔ زمانی مرورگر/دستگاه شما) و زمان نسبی (مثلاً "2 hours ago"). تایماستمپها بر پایهٔ UTC هستند؛ منطقهٔ زمانی فقط روی نحوهٔ نمایش اثر میگذارد. همچنین از epochهای سفارشی فراتر از epoch استاندارد یونیکس (۱ ژانویهٔ ۱۹۷۰) پشتیبانی میکند که برای سیستمهایی با نقطهٔ مرجع متفاوت مفید است.
موارد استفادهٔ رایج برای توسعهدهندگان
توسعهدهندگان از مبدلهای تاریخ هنگام دیباگ مشکلات تایماستمپ، تبدیل بین منطقههای زمانی، یا کار با APIهایی که تایماستمپ یونیکس برمیگردانند استفاده میکنند. یک مبدل زمان یونیکس کمک میکند زمان وقوع رویدادها را با تبدیل epoch time به تاریخهای قابل خواندن درک کنید. بسیاری از توسعهدهندگان از مبدلهای تاریخ برای بررسی محاسبات تایماستمپ، دیباگ باگهای مرتبط با منطقهٔ زمانی، یا تبدیل تاریخها برای نمایش در برنامهها استفاده میکنند. مبدل epoch هنگام کار با فایلهای لاگ که تایماستمپ دارند، پاسخهای API با زمان یونیکس، یا رکوردهای پایگاه داده با مقادیر epoch ارزشمند است. توسعهدهندگان از آن برای محاسبهٔ اختلاف زمان، تبدیل بین منطقههای زمانی یا قالببندی تاریخها برای localeهای مختلف استفاده میکنند. این ابزار هنگام دیباگ مسائل مرتبط با تاریخ، درک پاسخهای API یا آمادهسازی تاریخها برای سیستمهای مختلف کمک میکند.
قالبها، نوعها یا گونههای داده
این مبدل تایماستمپهای یونیکس را در قالب ثانیه (10 رقم) و میلیثانیه (13 رقم) مدیریت میکند. شما قالب را بهصورت دستی انتخاب میکنید؛ ابزار بر اساس طول، بهطور خودکار تشخیص نمیدهد. از epoch استاندارد یونیکس (January 1, 1970 00:00:00 UTC) و epochهای سفارشی برای سیستمهای تخصصی پشتیبانی میکند. ورودی تاریخ میتواند رشتههای قالب ISO 8601 (مثل 2024-01-01T00:00:00Z) یا فیلدهای ساختاریافتهٔ تاریخ باشد. مبدل خروجی تاریخ را در قالب ISO 8601 ارائه میدهد و تبدیلهای منطقهٔ زمانی را مدیریت میکند و تاریخها را در UTC، زمان محلی (منطقهٔ زمانی مرورگر) و منطقههای زمانی مشخصشده نمایش میدهد. همچنین زمان نسبی را محاسبه میکند (مثلاً "3 days ago"، "in 2 hours") و جزئیات بیشتری از جمله روز هفته، شمارهٔ هفته و اطلاعات مربوط به ساعت تابستانی ارائه میدهد.
نمونه تبدیلها:
1609459200(ثانیه) →2021-01-01T00:00:00Z1609459200000(میلیثانیه) →2021-01-01T00:00:00Z
دامهای رایج و حالتهای لبهای
یکی از اشتباهات رایج، اشتباه گرفتن ثانیه با میلیثانیه است: تایماستمپهای یونیکس میتوانند در هر یک از این دو قالب باشند و استفاده از قالب اشتباه باعث میشود تاریخها خیلی دور در گذشته یا آینده قرار بگیرند. مسئلهٔ دیگر مدیریت منطقهٔ زمانی است: تایماستمپها بر پایهٔ UTC هستند، اما نمایش آنها نیازمند تبدیل منطقهٔ زمانی است. زمان محلی به منطقهٔ زمانی مرورگر/دستگاه شما اشاره دارد که ممکن است با منطقهٔ زمانی سرور متفاوت باشد. گذارهای ساعت تابستانی میتوانند ابهام ایجاد کنند: یک زمان محلی یکسان ممکن است در گذار پاییزی دو بار رخ دهد. مشکل سال 2038: تایماستمپهای یونیکس 32 بیتی در January 19, 2038 سرریز میشوند، هرچند بیشتر سیستمها اکنون از تایماستمپ 64 بیتی استفاده میکنند. زمان یونیکس ثانیههای کبیسه را نادیده میگیرد؛ برای بیشتر کاربردها این قابل قبول است. مبدل این موارد لبهای را مدیریت میکند، اما توسعهدهندگان باید هنگام کار با تایماستمپها از تفاوتهای منطقهٔ زمانی، گذارهای DST و مسائل دقت آگاه باشند. هنگام تبدیل بین قالبها، مطمئن شوید منطقهٔ زمانی بهدرستی مشخص شده است تا از خطاهای یکروزه (off-by-one-day) جلوگیری شود.
چه زمانی از این ابزار استفاده کنیم در برابر کُد
از این مبدل تاریخ برای تبدیل سریع تایماستمپها، دیباگ مشکلات تاریخ، یا درک مقادیر زمانی در لاگها یا پاسخهای API استفاده کنید. این ابزار برای تبدیلهای تکموردی، محاسبات منطقهٔ زمانی یا یادگیری دربارهٔ قالبهای تاریخ ایدهآل است. برای کد تولیدی (production)، از کتابخانههای تاریخ/زمان که در برنامهٔ شما یکپارچه شدهاند استفاده کنید تا تبدیلها، محاسبات منطقهٔ زمانی و محاسبات تاریخ را انجام دهند. کتابخانههای تاریخ مدیریت خطای بهتر، پشتیبانی از locale و یکپارچگی با کدبیس شما را فراهم میکنند. ابزارهای مرورگر در تبدیلهای موردی و اکتشاف عالی هستند، در حالی که راهکارهای مبتنی بر کد اتوماسیون، اعتبارسنجی و یکپارچگی با پایپلاینهای پردازش داده را ارائه میدهند. برای برنامههای سازمانی، کتابخانههای تاریخ بومی عملکرد بهتر، پشتیبانی جامع از منطقههای زمانی و مدیریت موارد لبهای مانند گذارهای DST را فراهم میکنند.