محول الطابع الزمني

تحويل طوابع Unix الزمنية إلى تواريخ مقروءة والعكس

الطابع الزمني Unix الحالي

1774458457

Wed, 25 Mar 2026 17:07:37 GMT

أو

ما هو الطابع الزمني Unix؟

الطابع الزمني Unix (المعروف أيضاً بـ epoch time أو POSIX time) هو عدد الثواني التي مرّت منذ 1 يناير 1970، الساعة 00:00:00 UTC. يُسمّى هذا التاريخ بـ Unix epoch. كل ثانية تمر تزيد العداد بمقدار واحد، مما يمنح كل لحظة تمثيلاً صحيحاً فريداً. يحوّل محوّل الطابع الزمني Unix بين هذا العدد الصحيح وصيغ التاريخ المقروءة كـ ISO 8601 وRFC 2822 والسلاسل الخاصة بكل منطقة.

تُعدّ طوابع Unix الزمنية الطريقة القياسية لتمثيل الوقت في الحوسبة. تخزّن قواعد البيانات أعمدة created_at وupdated_at كأعداد صحيحة أو طوابع زمنية بالميلي ثانية. تتضمّن استجابات API طوابع زمنية لترويسات التخزين المؤقت (Expires، Last-Modified)، وادعاءات JWT (iat، exp، nbf)، وسجلات الأحداث. تستخدم ملفات السجل من nginx وsyslog وأطر التطبيقات جميعها وقت epoch. الصيغة لا لبس فيها لأنها تمثّل UTC دائماً، بدون منطقة زمنية أو توقيت صيفي يُسبّب سوء التفسير.

التحويل يدوياً بين الطوابع الزمنية والتواريخ عُرضة للخطأ. قيمة مثل 1711324800 لا تدل مباشرة على التاريخ الذي تمثله. تحوّل هذه الأداة طوابع Unix الزمنية إلى تواريخ مقروءة والعكس. سواء كنت تقرأ ادعاء JWT exp، أو تُصحّح استعلام قاعدة بيانات، أو تفحص طابع زمني في سجل، فهي تتعامل تلقائياً مع قيم 10 أرقام (ثواني) و13 رقماً (ميلي ثانية).

لماذا تستخدم هذا المحوّل؟

قراءة طوابع Unix الزمنية الخام من السجلات أو قواعد البيانات أو استجابات API تستلزم إما حفظ حسابات epoch أو كتابة كود مؤقت. يُنجز هذا المحوّل ذلك في متصفحك دون أي إعداد. سواء كنت بحاجة لفك تشفير انتهاء صلاحية JWT، أو مراجعة سطر سجل، أو ضبط TTL لقاعدة بيانات، فالنتيجة على بُعد نقرة واحدة. تكتشف الأداة تلقائياً إن كانت القيمة طابعاً زمنياً من 10 أرقام بالثواني أو 13 رقماً بالميلي ثانية، فلا تحتاج أبداً للقسمة يدوياً على 1000. تعمل جميع العمليات محلياً في متصفحك. لا تغادر أي بيانات جهازك، فتبقى الطوابع الزمنية من الأنظمة الداخلية والسجلات الحساسة خاصة.

تحويل فوري
اكتب طابعاً زمنياً أو اختر تاريخاً وشاهد النتيجة فوراً. بدون إرسال نماذج أو إعادة تحميل الصفحة. يدعم الثواني والميلي ثانية.
🔒
معالجة تُقدّم الخصوصية أولاً
تعمل جميع التحويلات في متصفحك باستخدام كائن Date المدمج في JavaScript. لا تغادر أي بيانات جهازك، فتبقى الطوابع الزمنية من الأنظمة الداخلية خاصة.
🔄
تحويل ثنائي الاتجاه
حوّل طوابع Unix الزمنية إلى تواريخ والتواريخ إلى طوابع زمنية. أدخل قيمة في أي اتجاه واحصل على الناتج المقابل دون الحاجة للتبديل بين الأدوات.
🌐
صيغ إخراج متعددة
اعرض طابعك الزمني بتوقيت UTC والوقت المحلي وISO 8601 والوقت النسبي في آنٍ واحد. انسخ أي صيغة بنقرة واحدة.

حالات استخدام محوّل الطابع الزمني

تطوير الواجهة الأمامية
تحويل الطوابع الزمنية من استجابات REST API للتحقق من أن عرض التواريخ يعمل بشكل صحيح عبر المناطق الزمنية المختلفة. تحقق مما إذا كانت API تُرجع ثواني أم ميلي ثانية.
هندسة الخوادم
حوّل طوابع قاعدة البيانات الزمنية عند تصحيح الاستعلامات. تحقق من أن قيم created_at وupdated_at وexpires_at تتطابق مع التواريخ المتوقعة بعد عمليات الترحيل أو تغييرات المنطقة الزمنية.
DevOps والموثوقية
حوّل قيم epoch من ملفات السجل ولوحات المراقبة (Grafana، Datadog) وأنظمة التنبيه لتحديد متى بدأ حادث أو اكتملت عملية نشر.
ضمان الجودة والاختبار
أنشئ طوابع زمنية محددة لبيانات الاختبار. تحقق من أن الميزات التي تعتمد على الوقت، مثل انتهاء صلاحية الرمز، وTTL للتخزين المؤقت، والمهام المجدولة، تُشغَّل في اللحظة الصحيحة.
هندسة البيانات
حوّل أعمدة الطوابع الزمنية عند فحص صادرات البيانات الخام من PostgreSQL وMySQL ومستودعات البيانات. تأكد من أن مسارات ETL تحافظ على معلومات المنطقة الزمنية بشكل صحيح.
التعلم والتعليم
افهم كيف تمثّل الحواسيب الوقت داخلياً. جرّب حالات الحافة كمشكلة Y2038، والطوابع الزمنية السالبة للتواريخ السابقة لعام 1970، ودقة الميلي ثانية.

جدول مرجعي لطوابع Unix الزمنية

يعرض الجدول أدناه طوابع Unix الزمنية المعروفة والتواريخ المقابلة لها. هذه القيم مفيدة للتحقق السريع والاختبار وفهم نطاق الطوابع الزمنية 32 بت و64 بت.

الطابع الزمنيالتاريخ (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

مقارنة صيغ التاريخ والوقت

تمثّل أنظمة ومعايير مختلفة اللحظة ذاتها باستخدام صيغ نصية مختلفة. يقارن الجدول الصيغ الأكثر شيوعاً التي ستصادفها في APIs والسجلات وقواعد البيانات.

الصيغةمثالملاحظات
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 بالثواني عدد صحيح مكوّن من 10 أرقام (حتى نوفمبر 2286)، بينما الطابع الزمني بالميلي ثانية مكوّن من 13 رقماً. تُرجع JavaScript's Date.now() القيم بالميلي ثانية. تُرجع معظم أدوات سطر أوامر Unix وPython's time.time() القيم بالثواني. للتحويل بينهما، اضرب الثواني في 1000 أو اقسم الميلي ثانية على 1000 وخذ الجزء الصحيح.
ما مشكلة عام 2038؟
ستُعاني الأنظمة التي تخزّن طوابع Unix الزمنية كعدد صحيح موقّع 32 بت من الفيضان في 19 يناير 2038 الساعة 03:14:07 UTC. القيمة القصوى التي يمكن أن يحملها العدد الصحيح الموقّع 32 بت هي 2,147,483,647 ثانية بعد epoch. بعد ذلك، تلتف القيمة إلى عدد سالب، يفسّره النظام كتاريخ في ديسمبر 1901. الأنظمة الحديثة 64 بت تستخدم أعداداً صحيحة 64 بت ولا تتأثر بهذه المشكلة.
كيف أحوّل طابعاً زمنياً Unix إلى تاريخ في JavaScript؟
أنشئ كائن Date جديداً بتمرير الطابع الزمني مضروباً في 1000 (لأن JavaScript تستخدم الميلي ثانية): new Date(1711324800 * 1000). ثم استدع .toISOString() أو .toUTCString() أو .toLocaleString() للحصول على الصيغة التي تحتاجها. للاتجاه العكسي، استخدم Math.floor(new Date('2024-03-25').getTime() / 1000).
هل يمكن لطوابع Unix الزمنية تمثيل تواريخ سابقة لعام 1970؟
نعم. تُمثَّل التواريخ السابقة لـ Unix epoch (1 يناير 1970) كأعداد صحيحة سالبة. على سبيل المثال، 31 ديسمبر 1969 الساعة 23:59:59 UTC هو الطابع الزمني -1. تتعامل معظم لغات البرمجة الحديثة مع الطوابع الزمنية السالبة بشكل صحيح، وإن كانت بعض الأنظمة وقواعد البيانات القديمة قد لا تدعمها.
لماذا تستخدم APIs طوابع Unix الزمنية بدلاً من سلاسل التاريخ؟
طوابع Unix الزمنية مستقلة عن المنطقة الزمنية، ومضغوطة (عدد صحيح واحد مقابل سلسلة تزيد عن 25 حرفاً)، وقابلة للمقارنة بسهولة. الترتيب والمقارنة وحساب المدد بالأعداد الصحيحة أسرع من تحليل سلاسل التاريخ. كما تتجنب الغموض الناجم عن الصيغ المعتمدة على المنطقة الجغرافية كـ 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. قد ترى كلا التسميتين في سلاسل التاريخ المنسقة، لكن القيمة الأساسية متطابقة.