python - সহজ - পাইথন প্রোগ্রামিং pdf



পাইথনে দুইটি টাইমটাইম বস্তুর মাঝে সময় পার্থক্য কীভাবে পাওয়া যায়? (9)

আমি কিভাবে দুই datetime বস্তুর মধ্যে মিনিটের মধ্যে সময় পার্থক্য বলতে পারি?

https://ffff65535.com


Divmod ব্যবহার করুন:

now = int(time.time()) # epoch seconds
then = now - 90000 # some time in the past

d = divmod(now-then,86400)  # days
h = divmod(d[1],3600)  # hours
m = divmod(h[1],60)  # minutes
s = m[1]  # seconds

print '%d days, %d hours, %d minutes, %d seconds' % (d[0],h[0],m[0],s)

আমি এই মত somethign ব্যবহার করুন:

from datetime import datetime

def check_time_difference(t1: datetime, t2: datetime):
    t1_date = datetime(
        t1.year,
        t1.month,
        t1.day,
        t1.hour,
        t1.minute,
        t1.second)

    t2_date = datetime(
        t2.year,
        t2.month,
        t2.day,
        t2.hour,
        t2.minute,
        t2.second)

    t_elapsed = t1_date - t2_date

    return t_elapsed

# usage 
f = "%Y-%m-%d %H:%M:%S+01:00"
t1 = datetime.strptime("2018-03-07 22:56:57+01:00", f)
t2 = datetime.strptime("2018-03-07 22:48:05+01:00", f)
elapsed_time = check_time_difference(t1, t2)

print(elapsed_time)
#return : 0:08:52

এই বর্তমান সময় এবং 9.30 am মধ্যে পার্থক্য খুঁজে বের করতে হয়

t=datetime.now()-datetime.now().replace(hour=9,minute=30)

এইভাবে আমি দুই ডটটাইম ডটটাইম বস্তুর মধ্যে যে ঘন্টার সংখ্যা অতিবাহিত করেছি তা পেয়েছি:

before = datetime.datetime.now()
after  = datetime.datetime.now()
hours  = math.floor(((after - before).seconds) / 3600)

পাইথন 2.7 এ নতুন timedelta ইনস্ট্যান্স পদ্ধতি। .total_seconds() । পাইথন ডক্স থেকে, এটি সমান (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6

রেফারেন্স: http://docs.python.org/2/library/datetime.html#datetime.timedelta.total_seconds

>>> import datetime
>>> time1 = datetime.datetime.now()
>>> time2 = datetime.datetime.now() # waited a few minutes before pressing enter
>>> elapsedTime = time2 - time1
>>> elapsedTime
datetime.timedelta(0, 125, 749430)
>>> divmod(elapsedTime.total_seconds(), 60)
(2.0, 5.749430000000004) # divmod returns quotient and remainder
# 2 minutes, 5.74943 seconds

যদি a , b ডটটাইম বস্তু হয় তবে পাইথন 3 এ তাদের মধ্যে সময় পার্থক্য খুঁজে পেতে:

from datetime import timedelta

time_difference = a - b
time_difference_in_minutes = time_difference / timedelta(minutes=1)

আগের পাইথন সংস্করণগুলিতে:

time_difference_in_minutes = time_difference.total_seconds() / 60

যদি b , b datetime.now() দ্বারা ফেরত আসা সাদাসিধে ডটটাইম অবজেক্টের মতো হয় তবে ফলাফলগুলি ভুল হতে পারে যদি বস্তু বিভিন্ন সময় UTC অফসেটগুলির সাথে স্থানীয় সময়কে উপস্থাপিত করে, উদাহরণস্বরূপ, ডিএসটি পরিবর্তনগুলি বা অতীতের / ভবিষ্যতের তারিখগুলির জন্য। আরো বিশদ: পাইথন তারিখের মধ্যে 24 ঘন্টা পাস হয়েছে কিনা তা সন্ধান করুন।

নির্ভরযোগ্য ফলাফল পেতে, UTC সময় বা টাইমজোন-সচেতন ডেটাটাইম বস্তুগুলি ব্যবহার করুন।


শুধু অন্য থেকে এক বিয়োগ। আপনি পার্থক্য সঙ্গে একটি timedelta বস্তুর পেতে।

>>> import datetime
>>> d1 = datetime.datetime.now()
>>> d2 = datetime.datetime.now() # after a 5-second or so pause
>>> d2 - d1
datetime.timedelta(0, 5, 203000)

আপনি dd.days , dd.seconds এবং dd.microseconds মিনিট রূপান্তর করতে পারেন।


শুধু দিনের সংখ্যা খুঁজতে: টাইমেলেল্টের একটি 'দিন' বৈশিষ্ট্য রয়েছে। আপনি কেবল যে জিজ্ঞাসা করতে পারেন।

>>>from datetime import datetime, timedelta
>>>d1 = datetime(2015, 9, 12, 13, 9, 45)
>>>d2 = datetime(2015, 8, 29, 21, 10, 12)
>>>d3 = d1- d2
>>>print d3
13 days, 15:59:33
>>>print d3.days
13

>>> import datetime
>>> a = datetime.datetime.now()
>>> b = datetime.datetime.now()
>>> c = b - a
datetime.timedelta(0, 8, 562000)
>>> divmod(c.days * 86400 + c.seconds, 60)
(0, 8)      # 0 minutes, 8 seconds




date-arithmetic