تبدیل زمان یونیکس به تاریخ

یک نشانه زمانی یونیکس را به زمان UTC و زمان محلی شما تبدیل کنید.

4/91 از 11 امتیاز
UTC
منطقه زمانی محلی شما

1. مقدمه

مهر زمانی یونیکس (Unix timestamp) یک لحظه مشخص از زمان را با استفاده از یک مقدار عدد صحیح (integer) نمایش می‌دهد. این مقدار تعداد ثانیه‌هایی را که از 1 ژانویه 1970 (UTC)، که با نام Unix Epoch نیز شناخته می‌شود، گذشته است، محاسبه می‌کند. اگرچه مهرهای زمانی به‌طور گسترده در پایگاه‌های داده، APIها و زبان‌های برنامه‌نویسی استفاده می‌شوند، اما خواندن آن‌ها برای انسان آسان نیست.

مبدل مهر زمانی یونیکس به تاریخ به شما کمک می‌کند تا یک مهر زمانی عددی را فوراً به قالبی قابل‌خواندن از تاریخ و زمان تبدیل کنید. به‌جای محاسبه دستی یا نوشتن کد برای تفسیر مهرهای زمانی، کافی است یک عدد وارد کنید تا تاریخ متناظر آن را هم در زمان UTC و هم در زمان محلی سیستم مشاهده کنید.

توسعه‌دهندگان، مدیران سیستم و تحلیلگران داده اغلب با مهرهای زمانی یونیکس در فایل‌های گزارش (Log)، پاسخ‌های سرور، داده‌های API و رکوردهای پایگاه داده سروکار دارند. تبدیل سریع آن‌ها به تاریخ‌های قابل‌خواندن هنگام اشکال‌زدایی برنامه‌ها، تحلیل رویدادها یا اعتبارسنجی داده‌های مبتنی بر زمان بسیار مفید است.

این ابزار به‌ویژه برای موارد زیر کاربرد دارد:

  • اشکال‌زدایی پاسخ‌های API که شامل مهر زمانی هستند
  • خواندن گزارش‌های سرور و سوابق رویدادها
  • تبدیل مهرهای زمانی پایگاه داده به تاریخ‌های قابل‌خواندن
  • اعتبارسنجی مقادیر زمانی در سیستم‌های Backend
  • درک تفاوت زمانی بین UTC و محیط‌های محلی

2. نحوه عملکرد

این ابزار با استفاده از یک محاسبه ساده، مهر زمانی یونیکس را به قالب‌های قابل‌خواندن تاریخ تبدیل می‌کند. مهر زمانی یونیکس زمان را به‌صورت تعداد ثانیه‌های سپری‌شده از 1 ژانویه 1970 (UTC) نمایش می‌دهد. بااین‌حال، بیشتر محیط‌های برنامه‌نویسی مدرن از مقادیر زمانی بر حسب میلی‌ثانیه استفاده می‌کنند. بنابراین، فرآیند تبدیل با ضرب مقدار مهر زمانی در 1000 آغاز می‌شود تا ثانیه‌ها به میلی‌ثانیه تبدیل شوند.

پس از تبدیل به میلی‌ثانیه، مهر زمانی به‌عنوان یک شیء استاندارد تاریخ تفسیر می‌شود. سپس ابزار دو قالب قابل‌خواندن از تاریخ را از این مقدار تولید می‌کند:

  • تاریخ UTC – نمایش استاندارد زمان جهانی
  • تاریخ محلی – تاریخ قالب‌بندی‌شده بر اساس منطقه زمانی سیستم شما

پارامتر ورودی

مهر زمانی یونیکس

  • یک مقدار عددی که تعداد ثانیه‌های سپری‌شده از Unix Epoch را نشان می‌دهد
  • باید یک عدد صحیح مثبت باشد
  • مثال: 1700000000

قوانین اعتبارسنجی

  • ورودی باید یک عدد باشد
  • مقدار نمی‌تواند منفی باشد
  • پیش از انجام تبدیل، این فیلد باید تکمیل شود
  • مهر زمانی بر حسب ثانیه تفسیر می‌شود، نه میلی‌ثانیه

ساختار خروجی

این ابزار دو خروجی تولید می‌کند:

  • تاریخ UTC – قالب استاندارد جهانی مهر زمانی (برای مثال: Tue, 14 Nov 2023 22:13:20 GMT)
  • تاریخ محلی – رشته کامل تاریخ که بر اساس منطقه زمانی محلی کاربر قالب‌بندی شده است

هر دو خروجی بلافاصله پس از تبدیل نمایش داده می‌شوند و می‌توان آن‌ها را مستقیماً با استفاده از دکمه‌های داخلی کپی در کلیپ‌بورد، کپی کرد.

محدودیت‌ها

  • این ابزار انتظار دارد مهرهای زمانی بر حسب ثانیه باشند، نه میلی‌ثانیه
  • اعداد بسیار بزرگ ممکن است تاریخ‌های نامعتبر یا مربوط به آینده تولید کنند
  • خروجی زمان محلی به منطقه زمانی تنظیم‌شده روی دستگاه کاربر بستگی دارد

3. نحوه استفاده از این ابزار

  1. یک مهر زمانی یونیکس را در فیلد ورودی وارد کنید.
  2. روی دکمه پردازش کلیک کنید.
  3. ابزار بلافاصله مقدار را پردازش می‌کند.
  4. نتایج تبدیل‌شده را در موارد زیر مشاهده کنید:
    • قالب UTC
    • زمان محلی سیستم شما
  5. برای کپی کردن هر یک از نتایج در کلیپ‌بورد، از دکمه کپی استفاده کنید.

همچنین هر زمان که مقدار مهر زمانی تغییر کند، تبدیل به‌صورت خودکار به‌روزرسانی می‌شود و این امکان را فراهم می‌کند که چندین مهر زمانی را به‌سرعت آزمایش کنید.


4. مثال‌های کاربردی

مثال 1: مهر زمانی در پاسخ API

ورودی

1700000000

خروجی

  • UTC: Tue, 14 Nov 2023 22:13:20 GMT
  • محلی: Tue Nov 14 2023 23:13:20 (منطقه زمانی محلی)

سناریو: یک توسعه‌دهنده پاسخ API را دریافت می‌کند که شامل یک مهر زمانی است و باید بررسی کند که رویداد دقیقاً چه زمانی رخ داده است.

مثال 2: رویداد در گزارش سرور

ورودی

1609459200

خروجی

  • UTC: Fri, 01 Jan 2021 00:00:00 GMT
  • محلی: Fri Jan 01 2021 07:00:00 (منطقه زمانی محلی)

سناریو: یک مدیر سیستم گزارش‌های سرور را بررسی می‌کند تا مشخص کند یک سرویس چه زمانی مجدداً راه‌اندازی شده است.


5. موارد استفاده برای توسعه‌دهندگان

- اشکال‌زدایی مهرهای زمانی API

بسیاری از REST APIها مهرهای زمانی را در قالب یونیکس برمی‌گردانند. توسعه‌دهندگان می‌توانند هنگام آزمایش پاسخ‌های API، زمان وقوع رویدادها را به‌سرعت بررسی کنند.

- اعتبارسنجی زمان در پایگاه داده

پایگاه‌های داده اغلب مهرهای زمانی را در قالب یونیکس ذخیره می‌کنند. تبدیل آن‌ها به تاریخ‌های قابل‌خواندن هنگام بررسی سوابق یا اعتبارسنجی داده‌های ذخیره‌شده مفید است.

- تحلیل فایل‌های گزارش

گزارش‌های سیستم معمولاً از مهرهای زمانی برای ردیابی رویدادها استفاده می‌کنند. توسعه‌دهندگان می‌توانند هنگام عیب‌یابی مشکلات، مهرهای زمانی گزارش‌ها را به زمان‌های قابل‌خواندن تبدیل کنند.

- خودکارسازی Backend

اسکریپت‌های خودکارسازی که داده‌های رویداد را پردازش می‌کنند، ممکن است پیش از گزارش‌گیری یا نمایش نتایج به تبدیل مهرهای زمانی نیاز داشته باشند.

نمونه در PHP

$timestamp = 1700000000;
echo gmdate("r", $timestamp); // تاریخ UTC
echo date("r", $timestamp);   // تاریخ محلی سرور

نمونه در JavaScript

const timestamp = 1700000000;
const date = new Date(timestamp * 1000);

console.log(date.toUTCString());
console.log(date.toString());

امنیت و اعتبارسنجی داده‌ها

  • همیشه بررسی کنید که ورودی‌های مهر زمانی عددی باشند
  • مقادیر منفی یا ورودی‌های نامعتبر را رد کنید
  • در مورد مهرهای زمانی دریافت‌شده از منابع غیرقابل اعتماد احتیاط کنید
  • هنگام پردازش داده‌های سرور، از سازگاری منطقه زمانی اطمینان حاصل کنید

6. پرسش‌های متداول

مهر زمانی یونیکس چیست؟

مهر زمانی یونیکس تعداد ثانیه‌هایی است که از 1 ژانویه 1970 (UTC) گذشته است. این قالب معمولاً در برنامه‌نویسی و پایگاه‌های داده برای ذخیره مقادیر زمانی به‌صورت یک قالب عددی فشرده استفاده می‌شود.

چرا توسعه‌دهندگان از مهرهای زمانی یونیکس استفاده می‌کنند؟

مهرهای زمانی یونیکس پردازش و مقایسه زمان را برای رایانه‌ها آسان می‌کنند. همچنین از مشکلات مربوط به مناطق زمانی جلوگیری کرده و امکان ذخیره‌سازی کارآمد مقادیر زمانی را در پایگاه‌های داده و APIها فراهم می‌کنند.

آیا این ابزار از میلی‌ثانیه پشتیبانی می‌کند؟

خیر. این ابزار انتظار دارد مهرهای زمانی بر حسب ثانیه باشند. اگر مهر زمانی شما بر حسب میلی‌ثانیه است، قبل از وارد کردن آن را بر 1000 تقسیم کنید.

چرا زمان UTC و زمان محلی با هم متفاوت هستند؟

UTC یک استاندارد جهانی زمان است، در حالی که زمان محلی بر اساس منطقه زمانی تنظیم‌شده در دستگاه شما تنظیم می‌شود.

آیا می‌توانم مهرهای زمانی مربوط به آینده را تبدیل کنم؟

بله. هر مهر زمانی یونیکس معتبر و مثبت، از جمله تاریخ‌های آینده، قابل تبدیل است.

اگر یک عدد نامعتبر وارد کنم چه اتفاقی می‌افتد؟

این ابزار به یک مهر زمانی عددی معتبر نیاز دارد. مقادیر نامعتبر یا منفی ممکن است منجر به تولید تاریخ‌های نادرست یا نامشخص شوند.

آیا این ابزار برای اشکال‌زدایی مفید است؟

بله. توسعه‌دهندگان اغلب از مبدل‌های مهر زمانی برای اشکال‌زدایی گزارش‌ها، اعتبارسنجی پاسخ‌های API و تفسیر رکوردهای پایگاه داده استفاده می‌کنند.

آیا مهرهای زمانی به منطقه زمانی وابسته هستند؟

خود مهر زمانی به منطقه زمانی وابسته نیست. بااین‌حال، هنگام تبدیل به یک تاریخ قابل‌خواندن، می‌توان آن را در قالب UTC یا منطقه زمانی محلی نمایش داد.

اشتراک‌گذاری

ابزارهای مشابه

یک تاریخ مشخص را به فرمت Unix timestamp تبدیل کنید.

ابزارهای محبوب