حوّل وقت epoch إلى تاريخ مقروء، والعكس
يحوّل محول Unix timestamp هذا قيمة epoch إلى تاريخ يمكنك قراءته — بتوقيت UTC وبمنطقتك الزمنية وبأي منطقة أخرى — ويحوّل التاريخ والوقت إلى طابع زمني من جديد. يتعرف تلقائيًا على الثواني والملي ثانية والميكرو ثانية والنانو ثانية، ويقرأ أيضًا ISO 8601 ونصوص التاريخ الأخرى، ويعرض النتيجة بصيغ ISO 8601 وRFC 2822 وتاريخ HTTP ووقت نسبي مثل "قبل 3 أيام". تعرض ساعة حية وقت Unix الحالي، ويحوّل وضع الدفعة قائمة كاملة مرة واحدة. كل شيء يعمل في متصفحك.
كيف تحوّل Unix timestamp
- 1الصق طابعًا زمنيًا مثل
1700000000أو1700000000123في طابع زمني ← تاريخ. تُكتشف الوحدة من عدد الأرقام؛ اخترها بنفسك إذا كان التخمين خاطئًا. - 2اقرأ التاريخ بتوقيت UTC وبمنطقتك الزمنية وبالمنطقة المختارة في شريط الأدوات، مع صيغ ISO 8601 وRFC 2822 والنسبية. انقر أيقونة النسخ بجانب أي منها.
- 3للتحويل في الاتجاه المعاكس، افتح تاريخ ← طابع زمني، واختر التاريخ والوقت والمنطقة الزمنية، ثم انسخ الثواني أو الملي ثانية.
- 4لتحويل قيم كثيرة، افتح دفعة، والصق قيمة في كل سطر، ثم انسخ النتائج أو نزّلها بصيغة CSV.
ما هو Unix timestamp؟
يعدّ وقت Unix الثواني منذ Unix epoch، أي 1 يناير 1970 الساعة 00:00:00 UTC. إنه رقم واحد بلا منطقة زمنية، ما يجعله مثاليًا لتخزين اللحظات ومقارنتها: 1700000000 هو 14 نوفمبر 2023 الساعة 22:13:20 UTC في كل مكان في العالم، ولا يتغير إلا طريقة عرضه حسب مكانك.
الأوقات قبل 1970 سالبة — -86400 هو 31 ديسمبر 1969 — ويتجاهل وقت Unix الثواني الكبيسة: كل يوم طوله 86,400 ثانية بالضبط، فيبقى العدّ بسيطًا وتمتص الساعة الثانية الكبيسة بدل أن تُحسب.
الثواني والملي ثانية والميكرو ثانية والنانو ثانية
يعتمد الاكتشاف التلقائي على عدد الأرقام: حتى 11 رقمًا ثوانٍ، ومن 12 إلى 14 ملي ثانية، ومن 15 إلى 17 ميكرو ثانية، وما زاد نانو ثانية. هذا صحيح لأي تاريخ بين 1973 والعام 5138. للتواريخ القريبة جدًا من 1970، اختر الوحدة بنفسك.
- ثوانٍ (10 أرقام)
- وقت Unix التقليدي، تستخدمه أدوات Unix وtime() في PHP وint(time.time()) في Python ومطالبات exp وiat في JWT ومعظم قواعد البيانات. مثال: 1700000000.
- ملي ثانية (13 رقمًا)
- تستخدمها Date.now() في JavaScript وSystem.currentTimeMillis() في Java وكثير من واجهات JSON API. مثال: 1700000000123.
- ميكرو ثانية (16 رقمًا)
- تستخدمها PostgreSQL داخليًا ودقة datetime في Python وبعض أنظمة السجلات. مثال: 1700000000123456.
- نانو ثانية (19 رقمًا)
- تستخدمها time.UnixNano() في Go وInfluxDB وPrometheus. مثال: 1700000000123456789 — تُحفظ هنا بدقة، لأن المحول يستخدم حسابًا بدقة اعتباطية.
شرح صيغ التاريخ
عند لصق نص تاريخ، تُحترم أي منطقة زمنية فيه. النص الذي فيه وقت بلا منطقة، مثل 2024-03-10 08:30، يُقرأ بتوقيتك المحلي، أما التاريخ وحده مثل 2024-03-10 فيُقرأ منتصف الليل UTC — وهي قواعد JavaScript — ويخبرك المحول بما حدث.
- ISO 8601 / RFC 3339
- <code>2023-11-14T22:13:20.000Z</code> — صيغة واجهات JSON API وقواعد البيانات. يعني Z توقيت UTC؛ وإلا يليه فرق توقيت مثل <code>+05:30</code>. تُرتَّب بشكل صحيح كنص.
- RFC 2822
- <code>Tue, 14 Nov 2023 22:13:20 +0000</code> — صيغة ترويسة Date في البريد الإلكتروني، وتستخدمها RSS أيضًا.
- تاريخ HTTP
- <code>Tue, 14 Nov 2023 22:13:20 GMT</code> — صيغة IMF-fixdate من RFC 9110، دائمًا بتوقيت GMT، وتستخدمها ترويسات Date وExpires وLast-Modified وملفات تعريف الارتباط.
المناطق الزمنية والتوقيت الصيفي
تضم قائمة المناطق الزمنية كل مناطق IANA التي يعرفها متصفحك، مثل America/New_York أو Europe/Berlin أو Asia/Kolkata، مع تاريخها الكامل للتوقيت الصيفي. لتحويل التاريخ إلى طابع زمني حالتان صعبتان: في الربيع يُتخطى وقت محلي مثل 02:30 عند تقديم الساعة، وفي الخريف تتكرر ساعة مرتين. يقرأ المحول الوقت المتخطى على أنه اللحظة التي تلي القفزة، والوقت المكرر على أنه أول حدوث له، وينبهك عند حدوث أي منهما.
خزّن الطوابع الزمنية أو نصوص ISO 8601 وأرسلها بتوقيت UTC، وحوّلها إلى منطقة محلية للعرض فقط. للجداول التي تتكرر في وقت محدد، راجع Cron Expression Generator.
مشكلة عام 2038
الأنظمة التي تخزن وقت Unix كعدد صحيح بإشارة من 32 بت لا تعدّ إلا حتى 2,147,483,647، أي 19 يناير 2038 الساعة 03:14:07 UTC. بعد ثانية واحدة تفيض القيمة إلى عدد سالب وتُقرأ كديسمبر 1901. الأنظمة الحديثة 64 بت آمنة لمليارات السنين؛ افحص الأجهزة المدمجة وصيغ الملفات القديمة وأعمدة قواعد البيانات المعرفة كـ INT من 32 بت. الصق 2147483647 أعلاه لترى تلك اللحظة، أو افحص أنماط البتات في محول أنظمة الأعداد.
الأسئلة الشائعة
- كيف أحوّل Unix timestamp إلى تاريخ؟
- الصقه في طابع زمني ← تاريخ. يكتشف المحول ما إذا كان بالثواني أو الملي ثانية أو الميكرو ثانية أو النانو ثانية، ويعرض التاريخ بتوقيت UTC وبتوقيتك المحلي وبأي منطقة زمنية تختارها.
- كيف أحصل على Unix timestamp الحالي؟
- تعرضه الساعة الحية في الأعلى بالثواني والملي ثانية. في الكود: Math.floor(Date.now() / 1000) في JavaScript، وint(time.time()) في Python، وtime() في PHP، وdate +%s في صدفة Unix.
- كيف أعرف إن كان الطابع الزمني بالثواني أم بالملي ثانية؟
- عدّ الأرقام. الطابع الزمني الحالي بالثواني فيه 10 أرقام وبالملي ثانية 13؛ والميكرو ثانية 16 والنانو ثانية 19. يقوم المحول بذلك عنك ويعرض الوحدة التي استخدمها.
- هل Unix timestamp بتوقيت UTC؟
- ليس لـ Unix timestamp منطقة زمنية: فهو يعدّ الثواني منذ منتصف ليل UTC في 1 يناير 1970، لذا يشير إلى اللحظة نفسها في كل مكان. لا تدخل المنطقة الزمنية إلا عند عرضه كتاريخ.
- ماذا يحدث في عام 2038؟
- في 19 يناير 2038 الساعة 03:14:07 UTC يتجاوز وقت Unix القيمة 2,147,483,647، وهي أكبر قيمة يحملها عدد صحيح بإشارة من 32 بت. ستفيض البرامج التي ما زالت تخزن الوقت في 32 بت؛ أما الوقت بـ 64 بت فلا يتأثر.
- هل يمكنني تحويل تواريخ قبل 1970؟
- نعم. للتواريخ قبل epoch طوابع زمنية سالبة؛ -86400 هو 31 ديسمبر 1969 الساعة 00:00 UTC. يقبل المحول القيم السالبة ويعيدها للتواريخ قبل 1970.
- هل يحسب وقت Unix الثواني الكبيسة؟
- لا. يعامل وقت Unix كل يوم على أنه 86,400 ثانية بالضبط، فلا تُحسب الثواني الكبيسة، ويمكن حساب الطابع الزمني لأي تاريخ بعمليات حسابية بسيطة.
- هل يُرسل أي شيء إلى خادم؟
- لا. كل التحويل، بما فيه قواعد المناطق الزمنية، يعمل في متصفحك باستخدام دعم Intl المدمج فيه.