التابع datetime.timestamp()
في بايثون
يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف datetime
.
البنية العامة
datetime.timestamp()
القيمة المعادة
يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف datetime
.
تكون النتيجة المعادة عددًا ذا فاصلة عائمة يشبه ذلك المعاد من التابع time.time()
.
يُفترض بكائنات datetime
البسيطة أن تمثّل الوقت حسب التوقيت المحلّي، ويعتمد هذا التابع على دالة mktime()
في لغة C لإجراء عملية التحويل.
ولمّا كان كائن datetime
يدعم نطاقًا أوسع من القيم مقارنة بالدالة maktime()
في عدد من المنصّات، فإنّ هذا التابع يطلق الخطأ OverflowError
عندما يكون الوقت المستخدم بعيدًا في الماضي أو في المستقبل.
أمّا كائنات datetime
الواعي فتحسب القيمة المعادة بالطريقة التالية:
(dt - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds()
ملاحظات:
1. هذا التابع جديد في الإصدار 3.3 من اللغة.
2. في الإصدار 3.6 من اللغة يستخدم التابع timestamp()
الخاصية fold
لإزالة اللبس عن الأوقات خلال الفترات الزمنية المتكرّرة.
3. لا توجد أيّة طريقة مباشرة للحصول على الختم الزمني بصيغة POSIX من كائن datetime
بسيط يمثّل الوقت حسب التوقيت العالمي المنسّق. ولكن إن كنت بحاجة إلى ذلك في تطبيقك ولم تكن المنطقة الزمنية الخاصة بالنظام هي UTC، فيمكن الحصول على الختم الزمني بصيغة POSIX عن طريق tzinfo=timezone.utc
وكما يلي:
timestamp = dt.replace(tzinfo=timezone.utc).timestamp()
أو عن طريق حساب timestamp
مباشرةً:
timestamp = (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)
أمثلة
يبين المثال التالي آلية عمل التابع:
>>> from datetime import datetime
>>> dt = datetime(2026, 11, 29, 11, 20, 59)
>>> dt.timestamp()
1795940459.0
انظر أيضًا
التابع datetime.fromtimestamp()
: يعيد التابع التاريخ والوقت المحلّيين والموافقين لختم POSIX الزمني كالذي يعيده التابع time.time()
.
مصادر
قسم datetime Objects في صفحة Basic date and time types في توثيق بايثون الرسمي.