اذهب إلى المحتوى

السؤال

نشر

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

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

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

Recommended Posts

  • 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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...