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

السؤال

نشر

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

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

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

Recommended Posts

  • 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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...