تبدیل تایماستمپ به تاریخ
یک تایماستمپ یونیکس را در هر منطقه زمانی به تاریخ خوانا تبدیل کنید، با شکل UTC و ISO 8601 در کنارش.
در هر خط یک تایماستمپ یا تاریخ، تا ۵۰۰ خط.
کد را در یک پیام دیسکورد بچسبانید؛ هر کسی آن را به منطقه زمانی و زبان خودش میبیند.
این تایماستمپ را در کد خودتان تبدیل کنید.
تبدیل تایماستمپ یونیکس به تاریخ خوانا
تایماستمپ یونیکس تعداد ثانیههای گذشته از اول ژانویه ۱۹۷۰ ساعت ۰۰:۰۰:۰۰ به وقت UTC است. لاگها، APIها، پایگاههای داده و فیلدهای JWT زمان را همینطور ذخیره میکنند، چون یک عدد صحیح هیچ ابهامی ندارد: یک لحظه را نام میبرد، نه خوانش محلی ساعت را. هزینهاش این است که هیچکس نمیتواند آن را با یک نگاه بخواند. این صفحه مبدل تایماستمپ را برای همین کار باز میکند: عدد را بچسبانید، تاریخ را بخوانید.
نتیجه همزمان در چهار سطر میآید. سطر اول همان لحظه در منطقه زمانی انتخابشده است، سطر دوم به وقت <abbr title="Coordinated Universal Time">UTC، سطر سوم شکل ISO 8601 که بیشتر APIها همان را پس میخواهند و سطر چهارم فاصله از حالا به زبان ساده. همهچیز در مرورگر شما محاسبه میشود و عدد از صفحه بیرون نمیرود.
ثانیه، میلیثانیه و رقمهایی که آنها را از هم جدا میکنند
یک لحظه ثابت بسته به واحد با تعداد رقم متفاوتی نوشته میشود و اشتباه خواندن واحد، تاریخ را دههها جابهجا میکند. مبدل از تعداد رقمها حدس میزند و مینویسد چه فرضی کرده است؛ منوی واحد وقتی دادهتان غیرمعمول باشد این حدس را کنار میزند.
| واحد | همان لحظه به این شکل | تعداد رقم | از کجا میآید |
|---|---|---|---|
| ثانیه | 1735689600 | ۱۰ | ابزارهای یونیکس، time() در PHP، فیلدهای JWT |
| میلیثانیه | 1735689600000 | ۱۳ | Date.now() در جاوااسکریپت، جاوا، MongoDB |
| میکروثانیه | 1735689600000000 | ۱۶ | PostgreSQL، در پایتون time.time_ns() تقسیم بر ۱۰۰۰ |
| نانوثانیه | 1735689600000000000 | ۱۹ | Go، Prometheus، لاگهای با دقت بالا |
عدد دهرقمی تا ۲۰ نوامبر ۲۲۸۶ دهرقمی میماند، پس شمردن رقمها برای هر تاریخی در این قرن آزمون مطمئنی است. عددهای منفی تاریخهای پیش از ۱۹۷۰ هستند و مثل بقیه تبدیل میشوند.
منطقه زمانی یک انتخاب نمایشی است، نه بخشی از عدد
تایماستمپ منطقه زمانی ندارد. وقتی همکارتان میگوید یک سطر لاگ یک ساعت جابهجاست، تایماستمپها معمولاً یکی هستند و فقط نمایش تفاوت دارد. منطقه را از بالای ابزار عوض کنید و همان عدد ساعت محلی دیگری میسازد، در حالی که UTC و ISO 8601 سر جایشان میمانند — راه سریعی برای اینکه ثابت کنید کدام طرف گفتوگو به ساعت دیگری نگاه میکند.
ساعت تابستانی را پایگاه داده منطقههای زمانی خودش مدیریت میکند، پس تاریخی تابستانی در Europe/Berlin با UTC+02:00 و تاریخی زمستانی با UTC+01:00 نمایش داده میشود، بدون آنکه کاری بکنید.
تبدیل در کد
زبانه کد زیر مبدل، تبدیل همان تایماستمپ روی صفحه را در JavaScript، Python، PHP، SQL، Go، Java، C# و Bash چاپ میکند تا بتوانید آن را مستقیم به همان جایی ببرید که عدد از آن آمده است. دو دام ارزش یادسپاری دارند: new Date() در جاوااسکریپت میلیثانیه میخواهد، پس تایماستمپ دهرقمی باید در ۱۰۰۰ ضرب شود، و نتیجه FROM_UNIXTIME() در MySQL به منطقه زمانی سرور نمایش داده میشود، نه به UTC.
مسیر برعکس
پنجره روبهرو کار برعکس را انجام میدهد: تاریخ و ساعت را انتخاب میکنید و تایماستمپ را بر حسب ثانیه و میلیثانیه میگیرید. برای آن جهت هم صفحهای هست — تبدیل تاریخ به تایماستمپ — و یکی هم بهطور خاص برای میلیثانیه. اگر عدد از یک پیام دیسکورد آمده، تایماستمپ دیسکورد کدهای <t:…> را توضیح میدهد و برایتان میسازد.