• 0

كيف أحول timedelta إلى أيام وساعات ودقائق في بايثون؟

أمتلك متغير يحتوي على قيمة timedelta وأريد تحويلها إلى قيم قابلة للقراءة أي أقسمها إلى أيام وساعات ودقائق فما الطريقة الصحيحة في بايثون لفعل ذلك؟

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


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

يوجد في بايثون عدة طرق لفعل ذلك، فإذا كنت تملك قيمة datetime.timedelta في متغير td فإن td.days ستعطيك عدد الأيام، وأما بالنسبة إلى الساعات والدقائق فإن صياغة timedelta تحتوي على عدد الثواني لوقت معين ولذلك سنقوم ببعض العمليات الحسابية البسيطة للحصول على قيمتها.
هذه الدالة البسيطة ستقوم بكل ما شرحناه:

def days_hours_minutes(td):
    return td.days, td.seconds//3600, (td.seconds//60)%60

أو يمكنك استخدام العوامل الرياضية div وmod للحصول على المطلوب كما في المثال التالي:

hours, remainder = divmod(td.seconds, 3600)
minutes, seconds = divmod(remainder, 60)

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


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

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

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

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


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

تسجيل الدخول

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


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