محول طابع زمني يونكس
أداة للتحويل الثنائي بين طابع زمني يونكس/لينكس وتواريخ وأوقات، مع القدرة على المقارنة عبر مناطق زمنية متعددة.
الوقت الحالي
تحويل الطابع الزمني إلى التاريخ
نتيجة التحويل(تلقائي)
تحويل التاريخ إلى الطابع الزمني
نتيجة التحويل(تلقائي)
محول التاريخ والوقت لمتعدد الأوقات الزمنية
محول التاريخ والوقت لمتعدد الأوقات الزمنية
محول الأوقات الزمنية لمتعدد التواريخ
محول الأوقات الزمنية لمتعدد التواريخ
تعليمات الاستخدام
هذا الاداة يستخدم لتحويل الوقت بين الطابع الزمني Unix والتاريخ والوقت بسرعة في مختلف السيناريوهات. يدعم الدقة بالثواني والملي ثواني، ويمكنك اختيار المنطقة الزمنية المستهدفة لعرض المقارنة. يوفر محولًا ببطاقة واحدة وعديد البطاقات، حيث يتم التحويل فور إدخال البيانات، ويتم تحديث النتائج تلقائيًا عند تبديل المنطقة الزمنية. كما يحتوي على نطاق زمني قريب ومتوسطات زمنية شائعة لاستيفاء احتياجات调试 التطوير والتحويل اليومي.
سمات وظائف الأداة
- يتم التحويل فور إدخال البيانات، ويدعم الكشف التلقائي للطابع الزمني بالثواني/الملي ثواني
- يدعم اختيار وعرض المنطقة الزمنية العالمية: ثلاث مشاهد (المحلية، UTC، المنطقة الزمنية المختارة)
- بطاقات محولات متعددة لتسهيل المقارنة الجماعية
- واجهة است응دة وصديقة للمفاتيح، وذات إمكانية وصول جيدة
- يحتوي على نطاق زمني قريب ومتوسطات زمنية شائعة، يمكن نسخها واستخدامها مباشرة
ما هو الطابع الزمني؟
الطابع الزمني Unix هو العدد الإجمالي للثواني أو الملي ثواني الماضية منذ 1970-01-01 00:00:00 UTC (بداية Unix).
الطابع الزمني هو رقم يمثل الوقت، وعادة ما يكون بحدة الساعة أو الملي ثانية.
نقطة البداية للطابع الزمني هي 00:00:00 UTC في 1 يناير 1970، وهذا الوقت يُطلق عليه عهد Unix.
تم استخدام الطابع الزمني لأول مرة في نظام التشغيل Unix، لذلك غالبًا ما يُطلق عليه طابع زمني Unix.
يُستخدم الطابع الزمني على نطاق واسع في البرمجة والاتصالات الشبكية، وخاصة في تطوير الويب.
الدقة الشائعة: الثواني (مثل 1735689600) والملي ثواني (مثل 1735689600000). عند تمثيل التاريخ والوقت المرتبط بالمنطقة الزمنية، يلزم تنسيق العرض بالاشتراك مع المنطقة الزمنية.
أطوال الوقت الشائعة للطابع الزمني
مشكلة عام 2038 للطابع الزمني
مشكلة عام 2038 تشير إلى مشكلة تجاوز الصوت في التخزين باستخدام عدد صحيح موجه ذو 32 بت لطابع زمني Unix (بالثواني، بدءًا من 00:00:00 UTC في 1970-01-01) بعد 03:14:07 في 19 يناير 2038.
نظرًا لأن نطاق عدد صحيح موجه ذو 32 بت هو من -2,147,483,648 إلى 2,147,483,647، وطابع زمني 03:14:07 UTC في 19 يناير 2038 هو 2,147,483,647، فبعد هذه النقطة الزمنية، لن يتمكن عدد صحيح موجه ذو 32 بت من تمثيل الطوابع الزمنية اللاحقة.
الأكثر تأثرًا بهذه المشكلة هي الأنظمة أو البرامج القديمة التي تستخدم time_t ذو 32 بت. عادةً ما تستخدم الأنظمة الحديثة 64 بت (مثل عدد صحيح ذو 64 بت بالمللي ثانية)، وبالتالي لا توجد بهذه المشكلة.
من المستحسن استخدام طابع زمني ذو 64 بت أو استخدام مكتبة زمنية تدعم نطاق تواريخ كبير.
كيفية الحصول على/تحويل الطابع الزمني من خلال لغة البرمجة
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;
-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');