• 0

كيف أحول تاريخ اليوم إلى صيغة ترتيب اليوم من السنة في بايثون؟

أريد تحويل تاريخ معين أنشأته باستخدام وحدة datetime إلى صيغة يوم من السنة، فمثلا في المثال التالي:

>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 13:24:58.857946

أريد الحصول على جملة "اليوم 65 من سنة 2009”، فما الطريقة الصحيحة لفعل ذلك في بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد عدة حلول لمشكلتك، وأبسط هذه الحلول هي عن طريق استخدام دوال وحدة datetime مثل timetuple وغيرها للتحويل كما في المثال التالي:

day_of_year = datetime.now().timetuple().tm_yday

أو يمكنك أيضا بكل بساطة استخدام دالة strftime كما في المثال التالي:

>>> import datetime
>>> today = datetime.datetime.now()
>>> print today
2009-03-06 15:37:02.484000
>>> today.strftime('%j')
'065'

ملاحظة: إذا أردت القيام بعمليات حسابية أو مقارنة مع هذا الرقم فيجب عليك أولا أن تحوله إلى int() لأن دالة strftime() تُرجع سلسلة نصية.
ويمكنك استخدام هذه العملية الحسابية للحصول على اليوم من السنة كما في المثال التالي:

import datetime
today = datetime.datetime.now()
day_of_year = (today - datetime.datetime(today.year, 1, 1)).days + 1

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن