الفرق بين المراجعتين لصفحة: «Python/datetime/datetime/timestamp»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>datetime.timestamp()</code> في بايثون}}</noinclude> يعيد التابع الختم الزمني (بصيغة PO...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:التابع <code>datetime.timestamp()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:التابع <code>datetime.timestamp()</code> في بايثون}}</noinclude> | ||
يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف <code>datetime</code>. | |||
يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف datetime. | |||
== البنية العامة == | == البنية العامة == | ||
سطر 11: | سطر 10: | ||
== القيمة المعادة == | == القيمة المعادة == | ||
يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف datetime | يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف <code>datetime</code>. | ||
تكون النتيجة المعادة عددًا ذا فاصلة عائمة يشبه ذلك المعاد من التابع <code>time.time()</code>. | |||
يُفترض بكائنات <code>datetime</code> البسيطة أن تمثّل الوقت حسب التوقيت المحلّي، ويعتمد هذا التابع على دالة <code>mktime()</code> في لغة C لإجراء عملية التحويل. | |||
ولمّا كان كائن <code>datetime</code> يدعم نطاقًا أوسع من القيم مقارنة بالدالة <code>maktime()</code> في عدد من المنصّات، فإنّ هذا التابع يطلق الخطأ <code>OverflowError</code> عندما يكون الوقت المستخدم بعيدًا في الماضي أو في المستقبل. | |||
أمّا كائنات <code>datetime</code> الواعي فتحسب القيمة المعادة بالطريقة التالية:<syntaxhighlight lang="python3"> | |||
(dt - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds() | (dt - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds() | ||
</syntaxhighlight>'''ملاحظات''': | |||
1. هذا التابع جديد في الإصدار 3.3 من اللغة. | 1. هذا التابع جديد في الإصدار 3.3 من اللغة. | ||
2. في الإصدار 3.6 من اللغة يستخدم التابع timestamp() الخاصية fold لإزالة اللبس عن الأوقات خلال الفترات الزمنية المتكرّرة. | |||
3. لا توجد أيّة طريقة مباشرة للحصول على الختم الزمني بصيغة POSIX من كائن datetime بسيط يمثّل الوقت حسب التوقيت العالمي المنسّق. ولكن إن كنت بحاجة إلى ذلك في تطبيقك ولم تكن المنطقة الزمنية الخاصة بالنظام هي UTC، فيمكن الحصول على الختم الزمني بصيغة POSIX عن طريق tzinfo=timezone.utc وكما يلي: | 2. في الإصدار 3.6 من اللغة يستخدم التابع <code>timestamp()</code> الخاصية <code>fold</code> لإزالة اللبس عن الأوقات خلال الفترات الزمنية المتكرّرة. | ||
3. لا توجد أيّة طريقة مباشرة للحصول على الختم الزمني بصيغة POSIX من كائن <code>datetime</code> بسيط يمثّل الوقت حسب التوقيت العالمي المنسّق. ولكن إن كنت بحاجة إلى ذلك في تطبيقك ولم تكن المنطقة الزمنية الخاصة بالنظام هي UTC، فيمكن الحصول على الختم الزمني بصيغة POSIX عن طريق <code>tzinfo=timezone.utc</code> وكما يلي: | |||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
سطر 32: | سطر 32: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
أو عن طريق حساب timestamp مباشرةً: | أو عن طريق حساب <code>timestamp</code> مباشرةً: | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
سطر 43: | سطر 43: | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
>>> from datetime import datetime | |||
>>> dt = datetime(2026, 11, 29, 11, 20, 59) | |||
>>> dt.timestamp() | |||
1795940459.0 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== انظر أيضًا == | == انظر أيضًا == | ||
التابع <code>[[Python/datetime/datetime/fromtimestamp|datetime.fromtimestamp()]]</code>: يعيد التابع التاريخ والوقت المحلّيين والموافقين لختم POSIX الزمني كالذي يعيده التابع <code>time.time()</code>. | |||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 09:14، 8 يوليو 2018
يعيد التابع الختم الزمني (بصيغة 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 في توثيق بايثون الرسمي.