• 0

كيف أُضيف عدد n من الثواني إلى datetime.time في بايثون؟

لنفترض أن لدي وقت معين أنشأته من دالة datetime.time في بايثون، ما هي الطريقة العادية لإضافة عدد صحيح من الثواني إليه؟ مثلا لو كان الوقت 11:34:59 فأريد أن أضيف له 3 ثواني ليصبح 11:35:02.

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


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

يمكنك استخدام دالة timedelta حتى تتمكن من إضافة عدد الثواني التي ترغب بها إلى وقت موجود في متغير datetime، حيث سنقوم بتمرير عدد الأيام أولًا ثم عدد الثواني كما يظهر هذا في المثال التالي:

import datetime
a = datetime.datetime(100,1,1,11,34,59)
b = a + datetime.timedelta(0,3) # days, seconds, then other fields.
print a.time()
print b.time()

وسيكون ناتج السطور السابقة كالتالي:

11:34:59
11:35:02

أو يمكنك تمرير عدد الثواني مباشرة:

b = a + datetime.timedelta(seconds=3)

وإذا كنت ترغب بكتابة دالة لإضافة عدد الثواني بدل من استخدام دالة  timedelta مباشرة، فيمكنك كتابة:

import datetime

def addSecs(tm, secs):
    fulldate = datetime.datetime(100, 1, 1, tm.hour, tm.minute, tm.second)
    fulldate = fulldate + datetime.timedelta(seconds=secs)
    return fulldate.time()

a = datetime.datetime.now().time()
b = addSecs(a, 300)
print a
print b

المصدر

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


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

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

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

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


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

تسجيل الدخول

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


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