اگر شما یک برنامه‌نویس وب یا موبایل باشید، حتماً با اعدادی مثل 1699999999 در کدهای خود یا در پاسخ‌های API (مثل JSON) روبه‌رو شده‌اید. این اعداد عجیب، چیزی نیستند جز Timestamp یا همان زمان یونیکس. در این مقاله به زبان ساده توضیح می‌دهیم که Timestamp چیست، چرا استفاده می‌شود و چطور آن را به تاریخ قابل فهم تبدیل کنیم.

می‌خواهید یک Timestamp را تبدیل کنید؟

ابزار رایگان ما به شما امکان می‌دهد Timestamp را به تاریخ شمسی و میلادی (و برعکس) تبدیل کنید.

مبدل Timestamp آنلاین

Timestamp (زمان یونیکس) دقیقاً چیست؟

کامپیوترها برای ذخیره زمان، از تاریخ‌هایی مثل «۲۵ آبان ۱۴۰۳» استفاده نمی‌کنند. در عوض، آن‌ها یک نقطه شروع مشخص (مبدأ) دارند و زمان را بر اساس تعداد ثانیه‌هایی که از آن نقطه گذشته محاسبه می‌کنند.

مبدأ زمانی در سیستم‌های کامپیوتری، ساعت ۰۰:۰۰:۰۰ روز ۱ ژانویه ۱۹۷۰ میلادی (معادل ۱۱ دی ۱۳۴۸ شمسی) به وقت جهانی (UTC) است.

بنابراین، اگر Timestamp عدد 1700000000 باشد، یعنی ۱,۷۰۰,۰۰۰,۰۰۰ ثانیه از اول ژانویه ۱۹۷۰ گذشته است.

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

شاید بپرسید چرا یک تاریخ معمولی (مثلاً YYYY-MM-DD) ذخیره نمی‌کنند؟ دلایل بسیار مهمی وجود دارد:

ثانیه (۱۰ رقمی) در مقابل میلی‌ثانیه (۱۳ رقمی)

یک نکته بسیار مهم که گاهی باعث خطا در برنامه‌ها می‌شود، تفاوت بین Timestamp ثانیه‌ای و میلی‌ثانیه‌ای است:

اگر یک عدد ۱۳ رقمی را وارد سیستم کردید و تاریخ غیرمنطقی (مثلاً سال ۵۶۰۰۰) دیدید، احتمالاً سیستم شما میلی‌ثانیه را به عنوان ثانیه تفسیر کرده است!

تبدیل Timestamp در زبان‌های برنامه‌نویسی

برای گرفتن Timestamp فعلی یا تبدیل آن، هر زبانی توابع خاص خودش را دارد:

جاوااسکریپت (JavaScript)

// گرفتن زمان فعلی به میلی‌ثانیه
let now = Date.now();
// تبدیل Timestamp به تاریخ
let date = new Date(1700000000000);

پایتون (Python)

import time
from datetime import datetime
# زمان فعلی
now = time.time()
# تبدیل Timestamp به تاریخ
dt = datetime.fromtimestamp(1700000000)

PHP

$now = time();
$date = date("Y-m-d H:i:s", 1700000000);

مشکل معروف: سال ۲۰۳۸ (Year 2038 Problem)

یک نکته فنی جالب: بسیاری از سیستم‌های قدیمی از یک عدد صحیح ۳۲ بیتی علامت‌دار (Signed 32-bit) برای ذخیره Timestamp استفاده می‌کنند. این عدد حداکثر می‌تواند عدد 2,147,483,647 را در خود جای دهد.

این یعنی در تاریخ ۱۹ ژانویه ۲۰۳۸ ساعت ۰۳:۱۴:۰۷، این سیستم‌ها سرریز (Overflow) کرده و تاریخ را به سال ۱۹۰۱ برمی‌گردانند! امروزه با روی آمدن سیستم‌های ۶۴ بیتی این مشکل حل شده، اما برای سیستم‌های قدیمی (که هنوز در برخی صنایع استفاده می‌شوند) یک هشدار جدی است.

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

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

ورود به مبدل Timestamp

جمع‌بندی

Timestamp یک مفهوم بنیادین در برنامه‌نویسی است که به سیستم‌ها اجازه می‌دهد زمان را در هر جای دنیا و بدون تداخل منطقه زمانی ذخیره کنند. اگر با APIها، دیتابیس‌ها یا لاگ‌های سرور کار می‌کنید، درک درست این مفهوم می‌تواند ساعت‌ها وقت شما را در دیباگ کردن (Debug) ذخیره کند.

تبلیغات