• 0

كيف أقارن تاريخين في بايثون؟

أريد معرفة ما إذا كان كائن datetime أكبر من كائن آخر بدقائق أو ساعات، ولقد جربت عدة طرق مثل هذه الطريقة لكنني حصلت على رسائل خطأ متنوعة:

if (datetime.now() - self.timestamp) > 100
# Where 100 is either seconds or minutes

فما الطريقة الصحيحة لفعل ذلك في بايثون؟

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


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

هنالك العديد من الطرق لفعل ذلك في بايثون، والطريقة التي وضعتها ليس خاطئة تماما بل يمكنك تعديلها لتعمل لك بدون مشاكل، فمثلا غيّرها إلى التالي:

if (datetime.now() - self.timestamp) > timedelta(seconds = 100)

أو إلى السطر التالي:

if (datetime.now() - self.timestamp) > timedelta(minutes = 100)

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

>>> from datetime import datetime, timedelta
>>> then = datetime.now() - timedelta(hours = 2)
>>> now = datetime.now()
>>> (now - then) > timedelta(days = 1)
False
>>> (now - then) > timedelta(hours = 1)
True

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


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

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

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

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


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

تسجيل الدخول

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


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