ToolDeck

تبدیل‌گر تایم‌استمپ

تبدیل تایم‌استمپ Unix به تاریخ خوانا و برعکس

تایم‌استمپ Unix فعلی

1774458461

Wed, 25 Mar 2026 17:07:41 GMT

یا

تایم‌استمپ Unix چیست؟

تایم‌استمپ Unix (که epoch time یا POSIX time نیز نامیده می‌شود) تعداد ثانیه‌هایی است که از اول ژانویه ۱۹۷۰، ساعت ۰۰:۰۰:۰۰ UTC گذشته است. این تاریخ را Unix epoch می‌نامند. هر ثانیه‌ای که می‌گذرد این شمارنده را یک واحد افزایش می‌دهد و هر لحظه از زمان را با یک عدد صحیح منحصربه‌فرد نمایش می‌دهد. یک تبدیل‌گر تایم‌استمپ Unix این عدد را به فرمت‌های تاریخ خوانا مانند ISO 8601، RFC 2822 یا رشته‌های محلی تبدیل می‌کند.

تایم‌استمپ‌های Unix روش استاندارد نمایش زمان در محاسبات هستند. پایگاه‌های داده ستون‌های created_at و updated_at را به صورت عدد صحیح یا تایم‌استمپ میلی‌ثانیه‌ای ذخیره می‌کنند. پاسخ‌های API تایم‌استمپ‌هایی برای هدرهای کش (Expires، Last-Modified)، کلیم‌های JWT (iat، exp، nbf) و گزارش‌های رویداد شامل می‌شوند. فایل‌های لاگ از nginx، syslog و فریم‌ورک‌های نرم‌افزاری همگی از epoch time استفاده می‌کنند. این فرمت بدون ابهام است زیرا همواره UTC را نمایش می‌دهد و هیچ منطقه زمانی یا آفست تابستانی برای سوءتفسیر وجود ندارد.

تبدیل دستی تایم‌استمپ‌ها به تاریخ مستعد خطاست. مقداری مانند ۱۷۱۱۳۲۴۸۰۰ هیچ سرنخی از تاریخ واقعی‌اش نمی‌دهد. این ابزار تایم‌استمپ‌های Unix را به تاریخ خوانا و تاریخ را به تایم‌استمپ تبدیل می‌کند. چه در حال خواندن یک کلیم JWT exp باشید، چه در حال اشکال‌زدایی یک پرس‌وجوی پایگاه داده، یا بررسی تایم‌استمپ لاگ، این ابزار مقادیر ۱۰ رقمی (ثانیه) و ۱۳ رقمی (میلی‌ثانیه) را به صورت خودکار پردازش می‌کند.

چرا از این تبدیل‌گر تایم‌استمپ استفاده کنیم؟

خواندن تایم‌استمپ‌های خام Unix از لاگ‌ها، پایگاه‌های داده یا پاسخ‌های API نیاز به حفظ محاسبات epoch یا نوشتن کد موقت دارد. این تبدیل‌گر بدون هیچ پیکربندی‌ای در مرورگر شما این کار را انجام می‌دهد. چه نیاز به رمزگشایی انقضای JWT، بررسی یک خط لاگ، یا تنظیم TTL پایگاه داده داشته باشید، نتیجه تنها با یک کلیک در دسترس است. ابزار به صورت خودکار تشخیص می‌دهد که یک مقدار تایم‌استمپ ۱۰ رقمی بر حسب ثانیه است یا ۱۳ رقمی بر حسب میلی‌ثانیه، بنابراین هرگز لازم نیست به صورت دستی بر ۱۰۰۰ تقسیم کنید. تمام پردازش‌ها به صورت محلی در مرورگر شما اجرا می‌شوند. هیچ داده‌ای از دستگاه شما خارج نمی‌شود، بنابراین تایم‌استمپ‌های سیستم‌های داخلی و لاگ‌های حساس خصوصی می‌مانند.

تبدیل فوری
یک تایم‌استمپ وارد کنید یا یک تاریخ انتخاب کنید و نتیجه را بلافاصله ببینید. بدون ارسال فرم، بدون بارگذاری مجدد صفحه. از هر دو حالت ثانیه و میلی‌ثانیه پشتیبانی می‌کند.
🔒
پردازش با اولویت حریم خصوصی
تمام تبدیل‌ها در مرورگر شما با استفاده از شیء Date داخلی JavaScript اجرا می‌شوند. هیچ داده‌ای از دستگاه شما خارج نمی‌شود، بنابراین تایم‌استمپ‌های سیستم‌های داخلی خصوصی می‌مانند.
🔄
تبدیل دوطرفه
تایم‌استمپ‌های Unix را به تاریخ و تاریخ را به تایم‌استمپ تبدیل کنید. یک مقدار در هر جهت وارد کنید و خروجی متناظر را بدون نیاز به تغییر ابزار دریافت کنید.
🌐
چندین فرمت خروجی
تایم‌استمپ خود را به صورت همزمان به UTC، زمان محلی، ISO 8601 و زمان نسبی مشاهده کنید. هر فرمت را با یک کلیک کپی کنید.

موارد استفاده از تبدیل‌گر تایم‌استمپ

توسعه فرانت‌اند
تایم‌استمپ‌های پاسخ‌های REST API را رمزگشایی کنید تا بررسی کنید نمایش تاریخ‌ها در منطقه‌های زمانی مختلف به درستی رندر می‌شود. بررسی کنید که آیا API ثانیه برمی‌گرداند یا میلی‌ثانیه.
مهندسی بک‌اند
تایم‌استمپ‌های پایگاه داده را هنگام اشکال‌زدایی پرس‌وجوها تبدیل کنید. بررسی کنید که مقادیر created_at، updated_at و expires_at پس از مهاجرت‌ها یا تغییرات منطقه زمانی با تاریخ‌های مورد انتظار مطابقت دارند.
DevOps و SRE
مقادیر epoch را از فایل‌های لاگ، داشبوردهای مانیتورینگ (Grafana، Datadog) و سیستم‌های هشداردهی تبدیل کنید تا دقیقاً مشخص کنید یک رویداد چه زمانی شروع شده یا یک استقرار کِی کامل شده است.
QA و آزمایش
تایم‌استمپ‌های خاص برای داده‌های آزمایشی تولید کنید. بررسی کنید که ویژگی‌های وابسته به زمان مانند انقضای توکن، TTL کش و کارهای زمان‌بندی‌شده در لحظه صحیح فعال می‌شوند.
مهندسی داده
ستون‌های تایم‌استمپ را هنگام بازرسی داده‌های خام صادرشده از PostgreSQL، MySQL یا انبارهای داده تبدیل کنید. تأیید کنید که پایپلاین‌های ETL اطلاعات منطقه زمانی را به درستی حفظ می‌کنند.
یادگیری و آموزش
بیاموزید که رایانه‌ها چگونه زمان را به صورت داخلی نمایش می‌دهند. با موارد لبه مانند مشکل Y2038، تایم‌استمپ‌های منفی برای تاریخ‌های قبل از ۱۹۷۰ و دقت میلی‌ثانیه آزمایش کنید.

جدول مرجع تایم‌استمپ‌های Unix

جدول زیر تایم‌استمپ‌های Unix شناخته‌شده و تاریخ‌های متناظر آن‌ها را نشان می‌دهد. این مقادیر برای بررسی‌های سریع، آزمایش و درک بازه تایم‌استمپ‌های ۳۲ بیتی و ۶۴ بیتی مفیدند.

تایم‌استمپتاریخ (UTC)توضیح
0Jan 1, 1970 00:00:00 UTCUnix epoch start
86400Jan 2, 1970 00:00:00 UTCExactly 1 day
946684800Jan 1, 2000 00:00:00 UTCY2K
1000000000Sep 9, 2001 01:46:40 UTC10-digit milestone
1234567890Feb 13, 2009 23:31:30 UTCAscending digits
1700000000Nov 14, 2023 22:13:20 UTCRecent 10-digit
2000000000May 18, 2033 03:33:20 UTCNext 10-digit milestone
2147483647Jan 19, 2038 03:14:07 UTCY2038 (signed 32-bit max)
4102444800Jan 1, 2100 00:00:00 UTCNext century

مقایسه فرمت‌های تاریخ و زمان

سیستم‌ها و استانداردهای مختلف یک لحظه یکسان را با فرمت‌های رشته‌ای متفاوت نمایش می‌دهند. این جدول رایج‌ترین فرمت‌هایی را که در API‌ها، لاگ‌ها و پایگاه‌های داده با آن‌ها روبرو می‌شوید مقایسه می‌کند.

فرمتمثالتوضیحات
Unix (seconds)1711324800Integer, no timezone info
Unix (milliseconds)1711324800000Used by JavaScript Date.now()
ISO 86012024-03-25T00:00:00ZMachine-readable, includes timezone
RFC 2822Mon, 25 Mar 2024 00:00:00 +0000Email and HTTP headers
UTC stringMon, 25 Mar 2024 00:00:00 GMTDate.prototype.toUTCString()
Human readableMarch 25, 2024, 12:00:00 AMLocale-dependent, display only

نمونه کد

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

JavaScript (browser / Node.js)
// Current Unix timestamp in seconds
Math.floor(Date.now() / 1000)  // → 1711324800

// Unix timestamp to Date object
const date = new Date(1711324800 * 1000)
date.toISOString()             // → "2024-03-25T00:00:00.000Z"
date.toUTCString()             // → "Mon, 25 Mar 2024 00:00:00 GMT"

// Date string to Unix timestamp
Math.floor(new Date('2024-03-25T00:00:00Z').getTime() / 1000)
// → 1711324800

// Millisecond timestamps (common in JS APIs)
Date.now()                     // → 1711324800000 (ms)
Date.parse('2024-03-25')       // → 1711324800000 (ms)
Python
import time
from datetime import datetime, timezone

# Current Unix timestamp
int(time.time())                                    # → 1711324800

# Unix timestamp to datetime
dt = datetime.fromtimestamp(1711324800, tz=timezone.utc)
dt.isoformat()                                      # → '2024-03-25T00:00:00+00:00'
dt.strftime('%Y-%m-%d %H:%M:%S %Z')                 # → '2024-03-25 00:00:00 UTC'

# Datetime string to Unix timestamp
dt = datetime.fromisoformat('2024-03-25T00:00:00+00:00')
int(dt.timestamp())                                  # → 1711324800

# Parse RFC 2822 dates (from email headers)
from email.utils import parsedate_to_datetime
parsedate_to_datetime('Mon, 25 Mar 2024 00:00:00 +0000').timestamp()
# → 1711324800.0
Go
package main

import (
    "fmt"
    "time"
)

func main() {
    // Current Unix timestamp
    now := time.Now().Unix() // → 1711324800

    // Unix timestamp to time.Time
    t := time.Unix(1711324800, 0).UTC()
    fmt.Println(t.Format(time.RFC3339))
    // → 2024-03-25T00:00:00Z

    // Parse a date string to Unix timestamp
    parsed, _ := time.Parse(time.RFC3339, "2024-03-25T00:00:00Z")
    fmt.Println(parsed.Unix())
    // → 1711324800

    // Millisecond timestamp
    ms := time.Now().UnixMilli() // → 1711324800000
    fmt.Println(now, ms)
}
CLI (date / bash)
# Current Unix timestamp
date +%s                                    # → 1711324800

# Convert timestamp to human-readable date (GNU date)
date -d @1711324800                         # → Mon Mar 25 00:00:00 UTC 2024

# Convert timestamp to ISO 8601
date -d @1711324800 --iso-8601=seconds      # → 2024-03-25T00:00:00+00:00

# macOS (BSD date) — slightly different flags
date -r 1711324800                          # → Mon Mar 25 00:00:00 UTC 2024

# Date string to timestamp (GNU date)
date -d "2024-03-25 00:00:00 UTC" +%s       # → 1711324800

سؤالات متداول

تفاوت تایم‌استمپ‌های Unix بر حسب ثانیه و میلی‌ثانیه چیست؟
یک تایم‌استمپ Unix بر حسب ثانیه یک عدد صحیح ۱۰ رقمی است (تا نوامبر ۲۲۸۶)، در حالی که تایم‌استمپ میلی‌ثانیه‌ای ۱۳ رقم دارد. Date.now() در JavaScript میلی‌ثانیه برمی‌گرداند. بیشتر ابزارهای خط فرمان Unix و تابع time.time() در Python ثانیه برمی‌گردانند. برای تبدیل بین آن‌ها، ثانیه را در ۱۰۰۰ ضرب کنید یا میلی‌ثانیه را بر ۱۰۰۰ تقسیم کنید و floor بگیرید.
مشکل سال ۲۰۳۸ چیست؟
سیستم‌هایی که تایم‌استمپ‌های Unix را به صورت عدد صحیح ۳۲ بیتی با علامت ذخیره می‌کنند در ۱۹ ژانویه ۲۰۳۸ ساعت ۰۳:۱۴:۰۷ UTC سرریز خواهند شد. حداکثر مقداری که یک عدد صحیح ۳۲ بیتی با علامت می‌تواند نگه دارد ۲٬۱۴۷٬۴۸۳٬۶۴۷ ثانیه پس از epoch است. پس از آن، مقدار به یک عدد منفی می‌چرخد که سیستم آن را به عنوان تاریخی در دسامبر ۱۹۰۱ تفسیر می‌کند. سیستم‌های مدرن ۶۴ بیتی از اعداد صحیح ۶۴ بیتی استفاده می‌کنند و تحت تأثیر این مشکل نیستند.
چگونه یک تایم‌استمپ Unix را در JavaScript به تاریخ تبدیل کنم؟
یک شیء Date جدید ایجاد کنید و تایم‌استمپ ضرب‌شده در ۱۰۰۰ را به آن بدهید (چون JavaScript از میلی‌ثانیه استفاده می‌کند): new Date(1711324800 * 1000). سپس .toISOString()، .toUTCString() یا .toLocaleString() را فراخوانی کنید تا فرمت مورد نیاز را دریافت کنید. برای تبدیل معکوس از Math.floor(new Date('2024-03-25').getTime() / 1000) استفاده کنید.
آیا تایم‌استمپ‌های Unix می‌توانند تاریخ‌های قبل از ۱۹۷۰ را نمایش دهند؟
بله. تاریخ‌های قبل از Unix epoch (اول ژانویه ۱۹۷۰) به صورت اعداد صحیح منفی نمایش داده می‌شوند. برای مثال، ۳۱ دسامبر ۱۹۶۹ ساعت ۲۳:۵۹:۵۹ UTC برابر با تایم‌استمپ ‎-1 است. اکثر زبان‌های برنامه‌نویسی مدرن تایم‌استمپ‌های منفی را به درستی پردازش می‌کنند، هرچند برخی سیستم‌ها و پایگاه‌های داده قدیمی‌تر ممکن است از آن‌ها پشتیبانی نکنند.
چرا API‌ها از تایم‌استمپ‌های Unix به جای رشته‌های تاریخ استفاده می‌کنند؟
تایم‌استمپ‌های Unix مستقل از منطقه زمانی، فشرده (یک عدد صحیح در مقابل رشته‌ای با ۲۵+ کاراکتر) و به راحتی قابل مقایسه هستند. مرتب‌سازی، مقایسه و محاسبه مدت زمان با اعداد صحیح سریع‌تر از تجزیه رشته‌های تاریخ است. همچنین از ابهام ناشی از فرمت‌های وابسته به محلی مانند MM/DD/YYYY در برابر DD/MM/YYYY جلوگیری می‌کنند.
چگونه تایم‌استمپ Unix فعلی را از خط فرمان دریافت کنم؟
در Linux و macOS دستور date +%s را اجرا کنید تا تایم‌استمپ فعلی را بر حسب ثانیه چاپ کند. در Windows با PowerShell از [DateTimeOffset]::UtcNow.ToUnixTimeSeconds() استفاده کنید. هر دو تعداد ثانیه‌های صحیح از Unix epoch را برمی‌گردانند. برای دقت میلی‌ثانیه در Linux از date +%s%3N استفاده کنید تا مؤلفه میلی‌ثانیه را مستقیماً اضافه کند.
تفاوت UTC و GMT در تایم‌استمپ‌ها چیست؟
برای اهداف عملی در محاسبات، UTC و GMT به یک زمان واحد اشاره دارند. UTC (زمان هماهنگ جهانی) استاندارد مدرن تعریف‌شده توسط ساعت‌های اتمی است، در حالی که GMT (زمان گرینویچ) استاندارد نجومی قدیمی‌تر است. تایم‌استمپ‌های Unix همواره بر پایه UTC هستند. ممکن است هر دو برچسب را در رشته‌های تاریخ فرمت‌شده ببینید، اما مقدار زیرین یکسان است.