في البرنامج التعليمي التالي، سوف نفهم تحويل Epoch إلى DateTime في ملف لغة البرمجة بايثون باستخدام بعض الأمثلة. سنستخدم عصر Python لتحويل العصر إلى التاريخ والوقت، على التوالي. وسنتناول أيضًا المواضيع التالية:
- تحويل DateTime إلى وقت Epoch
- تحويل العصر إلى سلسلة DateTime
- تحويل العصر إلى ميلي ثانية DateTime
- تحويل العصر إلى المنطقة الزمنية DateTime
- تحويل عصر يونكس إلى DateTime
- تحويل DateTime إلى وقت العصر بالمللي ثانية
- تحويل الطابع الزمني للعصر إلى DateTime
- عصر Python DateTime year خارج النطاق
لكن قبل أن نبدأ، دعونا نفهم العصر الزمني في بايثون باختصار.
ما هو وقت العصر في بايثون؟
وقت العصر، والذي يُسمى أيضًا وقت يونكس أو وقت بوسيكس، هو إطار لمتابعة الوقت كالثواني المختلفة التي مرت منذ عصر يونكس، وهو الساعة 12 ظهرًا بالتوقيت العالمي المنسق في 1 يناير 1970. يُستخدم هذا الإطار على نطاق واسع في تحديد أطر العمل ولهجات البرمجة. بما في ذلك بايثون.
بيان حالة جافا
في بايثون، يمكننا العمل مع الوقت العمري باستخدام وحدة الوقت، والتي توفر إمكانية التحكم في القيم المرتبطة بالوقت. إحدى الإمكانيات الأساسية لإدارة وقت العمر هي time.time()، والتي تُرجع الوقت المستمر بالثواني منذ العمر كرقم نقطة الانجراف.
تحويل وقت العصر إلى DateTime باستخدام بايثون
يمكننا استخدام بايثون datetime.fromtimestamp() وظيفة لتحويل وقت العصر إلى DateTime. دعونا نفكر في المثال التالي الذي يوضح تحويل عصر بايثون إلى DateTime.
مثال:
# Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 40246871 # Here, we are using the datetime.fromtimestamp() function date_time = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the value print('Given epoch time:', epoch_time) print('Converted Datetime:', date_time )
انتاج:
Given epoch time: 40246871 Converted Datetime: 1971-04-12 01:11:11
توضيح:
في المثال أعلاه، تم استيراد وحدة التاريخ والوقت، مع مراعاة التحكم في قيم التاريخ والوقت. يتم بعد ذلك توزيع المتغير Epoch_time على القيمة المحددة البالغة 40246871، لمعالجة الثواني التي تراجعت منذ عصر Unix (1 يناير 1970، 00:00:00 بالتوقيت العالمي المنسق).
تكمن الفائدة الأساسية للمحتوى في استخدام القدرة datetime.fromtimestamp() . تتطلب هذه الإمكانية بعض الاستثمار (epoch_time) وتغيرها إلى تكوين أكثر قابلية للفهم عن طريق إنشاء كائن وقت وتاريخ. يتم تخزين كائن التاريخ والوقت التالي، الذي يتناول نفس التاريخ والوقت، في المتغير date_time.
لإعطاء إمكانية إدراك التغيير، يتضمن المحتوى إعلانين print(). الأول، طباعة ('الوقت المحدد للعمر:'، epoch_time)، يُظهر تقدير وقت العمر الأول، في حين أن الطباعة اللاحقة، print('التاريخ المحول:'، date_time)، تُنتج القيمة المتغيرة على مدار التاريخ والوقت.
تحويل DateTime إلى وقت Epoch باستخدام Python
من أجل تحويل DateTime إلى وقت Epoch، سوف نستخدم الطابع الزمني () وظيفة. أولاً، دعونا نفكر في المثال التالي الذي يوضح تحويل DateTime إلى وقت Epoch.
مثال:
# Here, we are importing the datetime package import datetime # Here, we are using the timestamp() function to convert datetime into epoch time epoch_time = datetime.datetime(2021, 6, 9, 2, 0).timestamp() # Here, we are printing the values print('Converted epoch time:', epoch_time)
انتاج:
Converted epoch time: 1623184200.0
توضيح:
في المثال أعلاه، يتم استيراد وحدة التاريخ والوقت للتعامل مع الأنشطة المرتبطة بالتاريخ والوقت. يعرض المحتوى تغيير وقت وتاريخ معين إلى وقت عمري باستخدام إمكانية الطابع الزمني ().
يبدأ التفاعل بإنشاء كائن وقت/تاريخ يخاطب 9 يونيو 2021 الساعة 2:00 صباحًا. يتم بعد ذلك تمرير كائن التاريخ والوقت هذا كمنافسة إلى القدرة timestamp()، والتي تُرجع نفس العمر الزمني (كمية الثواني التي انقضت منذ عصر يونكس، 1 يناير 1970، 00:00:00 بالتوقيت العالمي المنسق). يتم تخزين وقت العمر التالي في المتغير Epoch_time.
ينتهي المحتوى بإعلان print(): print('العمر المحول:', epoch_time)، والذي ينتج عنه وقت العمر المحدد للتاريخ المحدد مسبقًا. تحويل وقت الحقبة إلى سلسلة DateTime باستخدام Python لتحويل وقت الحقبة إلى سلسلة تاريخ ووقت، نحتاج إلى تحويل وقت الحقبة إلى تاريخ ووقت ثم تمرير متغير التاريخ والوقت الناتج إلى الدالة strftime() لتحويله إلى سلسلة وقت وتاريخ بنجاح.
مثال:
# Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 700024 # Here, we are using datetime.fromtimestamp() function to convert epoch time into datetime object mytimestamp = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are using strftime() function to convert datetime_str = mytimestamp.strftime( '%Y - %m - %d %H : %M : %S') # Here, we are printing the values print('Given epoch time:', epoch_time) print('Converted datetime string:', datetime_str)
انتاج:
Given epoch time: 700024 Converted datetime string: 1970 - 01 - 09 07 : 57 : 04
توضيح:
في المثال أعلاه، قمنا مرة أخرى باستيراد ملف التاريخ والوقت مكتبة. لقد استخدمنا بعد ذلك datetime.fromtimestamp() تعمل على تحويل فترة زمنية معينة إلى وقت وتاريخ ثم تمريرها إلى ملف سترفتايم () دالة لتحويل كائن التاريخ والوقت إلى سلسلة تاريخ ووقت. ال سترفتايم () معلمات الوظيفة هي رموز التنسيق التي أردنا تخصيص السلسلة بها.
تحويل وقت العصر إلى DateTime بالمللي ثانية باستخدام Python
يمكننا الحصول على DateTime مع ميلي ثانية من وقت العصر باستخدام الطريقة التي قمنا بها لتحويل وقت العصر إلى DateTime. دعونا نفكر في المثال التالي الذي يوضح نفس الشيء.
فك شفرة جافا سكريبت Base64
مثال:
# Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 402471.238201 # Here, we are using the datetime.fromtimestamp() function date_time = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the value print('Given epoch time:', epoch_time) print('Converted Datetime:', date_time )
انتاج:
Given epoch time: 402471.238201 Converted Datetime: 1970-01-05 21:17:51.238201
توضيح:
في المثال أعلاه، تم استيراد وحدة التاريخ والوقت للعمل مع معالجة الأنشطة المتعلقة بالتاريخ والوقت. يتمثل الدور الأساسي للمحتوى في التغيير خلال فترة زمنية معينة، محددة بـ 402471.238201 ثانية، إلى تكوين واضح باستخدام كل من كائن التاريخ والوقت وسلسلة منظمة.
يعود المحتوى للاستفادة من إمكانية datetime.fromtimestamp() لتغيير الوقت الزمني إلى كائن وقت وتاريخ. كائن التاريخ والوقت التالي، المخزَّن في المتغير date_time، يجسد تفاصيل مقارنة التاريخ والوقت. أخيرًا، يطبع المحتوى كلاً من وقت العمر الأول والكائن الذي تم تغييره عبر التاريخ والوقت.
تُنتج إعلانات print() هذه عائدًا يُظهر كلاً من العمر الزمني الخام وكائن التاريخ والوقت المنظم، مما يوفر صورة معقولة للطابع الزمني الأول ونفسه الملائم للإنسان.
سلسلة استبدال جافا
تحويل وقت العصر إلى المنطقة الزمنية DateTime باستخدام Python
يمكننا استخدام وحدة زمنية() وظيفة بيتز الحزمة لتحويل وقت العصر إلى المنطقة الزمنية DateTime. دعونا نفكر في المثال التالي الذي يوضح تحويل نفسه.
مثال:
# Here, we are importing the required package(s) and module(s) from datetime import datetime import pytz # Here, we are using the timezone() function my_timezone = pytz.timezone('CST6CDT') # Here, we are using the localize() function date_timezone = my_timezone.localize( datetime( 2021, 6, 10, 9, 34, 32 ), is_dst = None ) # Here, we are printing the values print( 'DateTime Time zone:', date_timezone )
انتاج:
DateTime Time zone: 2021-06-10 09:34:32-05:00
توضيح:
في المثال أعلاه، يتم استخدام وحدة التاريخ والوقت جنبًا إلى جنب مع وحدة pytz للعمل مع كائنات التاريخ والوقت في منطقة زمنية معينة. الهدف الأساسي للمحتوى هو إنشاء كائن وقت وتاريخ وتحديد نقطته في المنطقة الزمنية بشكل صريح إلى 'CST6CDT' (التوقيت القياسي البؤري مع وقت توفير ضوء الشمس)، ثم، عند هذه النقطة، قم بطباعة التاريخ والوقت اللاحقين.
بهذه الطريقة، يتم استخدام قدرة timezone() من وحدة pytz لإنشاء كائن منطقة زمنية يعالج 'CST6CDT'. بعد ذلك، يتم استخدام إمكانية تقييد () من كائن المنطقة الزمنية لتحديد النقطة في المنطقة الزمنية لكائن وقت وتاريخ معين (10 يونيو 2021، 9:34:32)
يُظهر حد is_dst=None أن بيانات وقت توفير الضوء (DST) لم يتم تقديمها بشكل لا لبس فيه، مما يسمح للقدرة Restrict() بتحديد حالة التوقيت الصيفي المناسبة في ضوء الوقت المحدد مسبقًا. وأخيرًا، يقوم المحتوى بطباعة كائن التاريخ والوقت اللاحق بمنطقة زمنية محددة بشكل صريح.
تحويل وقت Unix إلى DateTime باستخدام Python
تشبه عملية تحويل وقت Unix إلى DateTime ما قمنا به سابقًا. تتضمن هذه العملية datetime.fromtimestamp() وظيفة لتحويل وقت عصر Unix إلى كائن DateTime واستخدام سترفتايم () وظيفة لتحويل الكائن إلى تنسيق DateTime المناسب.
دعونا نفكر في المثال التالي الذي يوضح نفس الشيء.
مثال:
# Here, we are importing the datetime library import datetime # Here, we have defined a constant value for the epoch time epoch_time = 252384207 # Here, we are using the datetime.fromtimestamp() function datetime_obj = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are using the strftime() function datetime_str = datetime_obj.strftime( '%Y - %m - %d %H : %M : %S' ) # Here, we are printing the values print( 'Unix epoch time:', epoch_time ) print( 'DateTime:', datetime_str )
انتاج:
Unix epoch time: 252384207 DateTime: 1977 - 12 - 31 08 : 13 : 27
توضيح:
في المثال أعلاه، يتم استخدام وحدة التاريخ والوقت للتغيير خلال فترة عمرية معينة، يشار إليها بـ 252384207 ثانية، إلى تنظيم أكثر وضوحًا. الهدف الأساسي هو إنشاء كائن تاريخ/وقت من وقت العصر ثم تصميمه كسلسلة للعرض. يبدأ المحتوى بإحضار وحدة التاريخ والوقت. يتم بعد ذلك استخدام القدرة datetime.fromtimestamp() لتغيير الوقت الزمني إلى كائن وقت وتاريخ.
كائن التاريخ والوقت التالي، المحفوظ في المتغير datetime_obj، يجسد تفاصيل التاريخ والوقت ذات الصلة. بعد ذلك، يتم استخدام القدرة strftime() لتصميم كائن التاريخ والوقت كسلسلة مع مؤسسة معينة. في هذه الحالة، التكوين المشار إليه هو '%Y - %m - %d %H : %M : %S'، ويتناول السنة والشهر واليوم والساعة واللحظة والثانية.
أخيرًا، يطبع المحتوى كلاً من وقت عصر Unix الأول وسلسلة التاريخ والوقت المرتبة. تُنشئ إعلانات print() هذه ناتجًا يُظهر كلاً من العمر الزمني الخام وسلسلة التاريخ والوقت المنظمة، مما يوفر صورة لا لبس فيها للطابع الزمني الأول ونفسه الملائم للإنسان.
تحويل DateTime إلى وقت Epoch بالمللي ثانية باستخدام Python
من أجل تحويل عصر DateTime إلى ميلي ثانية، يمكننا استخدام ستربتايم () دالة لإرجاع كائن التاريخ والوقت من السلسلة المحددة واستخدام الطابع الزمني () وظيفة لتحويل الكائن إلى ثواني. علاوة على ذلك، نحتاج إلى ضرب القيمة الناتجة بالألف لإنتاج عصر DateTime بالمللي ثانية.
دعونا نفكر في مثال يوضح ذلك.
أجمل ابتسامة
مثال:
# Here, we are importing the datetime module from datetime import datetime # Here, we are using the strptime() function dt_obj = datetime.strptime( '10-6-2021 10:33:35,72', '%d-%m-%Y %H:%M:%S,%f') epoch_msec = dt_obj.timestamp() * 1000 print('epoch time in milliseconds:', epoch_msec)
انتاج:
epoch time in milliseconds: 1623301415720.0
توضيح:
في المثال أعلاه، يتم استخدام وحدة التاريخ والوقت لتحويل سلسلة مصممة تتناول تاريخًا ووقتًا محددين إلى تقدير وقت عمري يُقدر بالمللي ثانية. تبدأ الدورة باستخدام قدرة strptime()، التي تحلل سلسلة المعلومات '10-6-2021 10:33:35,72' في ضوء التصميم المقدم '%d-%m-%Y %H: %M:%S،%f'. يشير هذا التكوين إلى أجزاء اليوم والشهر والسنة والساعة واللحظة والثانية والميكروثانية من سلسلة المعلومات.
كائن التاريخ والوقت التالي، المخزن في المتغير dt_obj، يلخص بيانات التاريخ والوقت التي تم تحليلها. بهذه الطريقة، يتأكد المحتوى من وقت العمر من خلال استخدام إستراتيجية timestamp() لكائن التاريخ والوقت، مع معالجة كمية الثواني التي مرت منذ عصر يونكس (1 يناير 1970، 00:00:00 بالتوقيت العالمي المنسق). زيادة هذه القيمة بمقدار 1000 مؤمن إلى ميلي ثانية، مما يعطي صورة أكثر تفصيلاً للوقت.
أخيرًا، يطبع المحتوى وقت العمر المحدد بالمللي ثانية باستخدام صيغة print().
تحويل الطابع الزمني للعصر إلى DateTime باستخدام Python
يمكننا استخدام datetime.fromtimestamp() وظيفة لتحويل الطابع الزمني العصر إلى DateTime. فيما يلي مثال موضح أدناه:
مثال:
# Here, we are importing the datetime module import datetime # Here, we have defined a constant value for epoch timestamp epoch_time = 33456871 # Here, we are using the datetime.fromtimestamp() function the_datetime = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the values print( 'epoch timestamp:', epoch_time ) print( 'DateTime:', the_datetime )
انتاج:
epoch timestamp: 33456871 DateTime: 1971-01-23 11:04:31
توضيح:
في المثال أعلاه، يتم استخدام وحدة التاريخ والوقت للتغيير عبر طابع زمني محدد، والذي يتم تناوله على أنه 33456871 ثانية، إلى تكوين أكثر معقولية وفهمًا. يبدأ المحتوى بإدخال وحدة التاريخ والوقت، مما يتيح الوصول إلى وظائف مختلفة للعمل مع التواريخ والأوقات.
الطابع الزمني للعمر، الذي يشير إلى عدد الثواني التي ظهرت منذ عصر يونكس (1 يناير 1970، الساعة 00:00:00 بالتوقيت العالمي)، تم تخصيصه للمتغير Epoch_time داخل المحتوى. وبالتالي، يتم استخدام إمكانية datetime.fromtimestamp() لتغيير الطابع الزمني لهذا العمر إلى كائن datetime يسمى the_datetime.
يتم إغلاق المحتوى عن طريق طباعة كل من الطابع الزمني للعمر الأول وكائن التاريخ والوقت المنظم باستخدام مفاصل print().
فهم الأخطاء المتعلقة بتاريخ العصر في بايثون
أثناء العمل مع وقت وتاريخ العصر في لغة برمجة بايثون، قد نواجه خطأ يفيد بأن سنة وقت وتاريخ حقبة بايثون خارج النطاق أو وسيطة بايثون غير صالحة.
دعونا نفكر في مثال لفهم المشكلة.
بايثون حفظ json إلى ملف
مثال:
# Here, we are importing the datetime module import datetime # Here, we are using the timestamp() function epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp() # Here, we are printing the values print( epoch_time )
انتاج:
Traceback (most recent call last): File 'D:Pythonepochpython.py', line 5, in epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp() OSError: [Errno 22] Invalid argument
توضيح:
في المثال أعلاه، يتم استخدام وحدة التاريخ والوقت للتغيير خلال وقت وتاريخ معين، في هذه الحالة، '10-06-1960 00:00:00'، إلى وقت عمر باستخدام إمكانية الطابع الزمني (). يبدأ المحتوى بإحضار وحدة التاريخ والوقت، مما يتيح الوصول إلى الوظائف المرتبطة بمهام التاريخ والوقت.
تكمن الفائدة المركزية للمحتوى في استخدام إمكانية timestamp()، والتي يتم تطبيقها على كائن التاريخ والوقت الذي يتناول 10 يونيو 1960 الساعة 12 ظهرًا. تعمل هذه الإمكانية وترجع وقت العمر، مع معالجة كمية الثواني التي مرت منذ عصر يونكس (1 يناير 1970، 00:00:00 بالتوقيت العالمي المنسق) حتى وقت التاريخ المحدد مسبقًا.
تتم بعد ذلك طباعة النتيجة باستخدام إعلان print()، مما يؤدي إلى إنشاء نتيجة قد تبدو '- 306691200.0'.