وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

پایتون: تعداد روز بین تاریخ ها را دریافت کنید

0 59
زمان لازم برای مطالعه: 2 دقیقه


معرفی

در این آموزش نگاهی به این خواهیم داشت چگونه تعداد روزهای بین دو تاریخ را در پایتون بدست آوریم.

ما از داخلی استفاده خواهیم کرد datetime بسته ای که به شما امکان می دهد واقعاً به راحتی با آن کار کنید datetime اشیاء در پایتون

ایجاد یک شیء Datetime

از آنجایی که datetime یک ماژول داخلی است، می توانید بلافاصله با وارد کردن آن در بالای فایل پایتون به آن دسترسی پیدا کنید.

می توانید بسازید datetime اشیاء به چند روش مختلف:

from datetime import datetime

date_string = "1 January, 2021"

now = datetime.now() 
dt1 = datetime(day=1, month=1, year=2021) 
dt2 = datetime.strptime(date_string, "%d %B, %Y") 

برای تبدیل رشته ها به Datetime در پایتون قوانین خاصی وجود دارد که باید از آنها پیروی کنید.

تعداد روزهای بین تاریخ ها را در پایتون دریافت کنید

تلاش برای اندازه گیری تعداد روزهای بین تاریخ ها بدون استفاده از ماژول datetime یک است به طرز فریبنده ای پیچیده وظیفه – بین محاسبه سالهای کبیسه و تعداد روزهای هر ماه، تلاش برای ایجاد پیاده سازی خود بی معنی است.

با datetime با این حال، بی اهمیت می شود.

شما می توانید به سادگی تفریق کردن آ date یا datetime از یکدیگر، برای به دست آوردن تعداد روزهای بین آنها:

from datetime import datetime

date1 = datetime.now()
date2 = datetime(day=1, month=7, year=2021)

timedelta = date2 - date1
print(timedelta)

این یک را برمی گرداند timedelta شی، که شامل days، seconds و microseconds و مدت زمان بین هر دو را نشان می دهد date/time یا datetime اشیاء.

چاپ این شی، روز، ساعت، دقیقه، ثانیه و میکروثانیه را به آن رویداد برمی گرداند:

149 days, 5:22:52.255124

اگر به برخی از این معیارها علاقه ندارید، می توانید مشخص کنید که می خواهید به کدام یک از آنها دسترسی داشته باشید. timedelta.days، timedelta.seconds و timedelta.microseconds:

now = datetime.now()
new_years = datetime(day=1, month=1, year=2022)
countdown = new_years - now

print('Today is: ', now)
print('New Year is روی: ', new_years)
print('Days until New Years: ', countdown.days)

در اینجا، ما روزهای بین را تعیین کرده ایم now و new_years به countdown، که یک است timedelta هدف – شی.

سپس، ما می توانیم به سادگی به days پارامتر آن شی برای بدست آوردن تعداد روزهای بین آنها. این منجر به:

Today is:  2021-02-01 18:35:12.272524
New Year is روی:  2022-01-01 00:00:00
Days until New Years:  333

جمع و تفریق روزها با استفاده از TimeDelta

اگر به جای تلاش برای کم کردن دو تاریخ شناخته شده از یکدیگر، بخواهید یک بازه زمانی اضافه یا کم کنید، چه می‌شود؟ به عنوان مثال، یک مشتری با هزینه ماهانه مشترک خدمات شما شد. باید به آنها یادآوری کنید که پس از 30 روز آن را تمدید کنند.

با استفاده از آن می توانید یک چارچوب زمانی برای آن 30 روز بسازید timedelta و آن را از سایر موارد اضافه یا کم کنید datetime هدف – شی:

from datetime import datetime, timedelta

now = datetime.now()
thirty_days = timedelta(days=30)

print('In 30 days: ', now + thirty_days)
print('30 days ago: ', now - thirty_days)

این منجر به:

In 30 days:  2021-03-03 18:41:49.922082
30 days ago:  2021-01-02 18:41:49.922082

این یک ویژگی فوق العاده مفید در هنگام تلاش برای پیاده سازی زمان بندی یا بازیابی ورودی های پایگاه داده بر اساس است. روی یک پنجره متحرک (مانند 30 روز آخر).

نتیجه

در این آموزش، همه چیزهایی را که باید در مورد دریافت تعداد روزهای بین دو تاریخ در پایتون بدانید، پوشش داده ایم.

ما کار کرده ایم datetime اشیاء و timedelta برای دستیابی به این قابلیت

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-12 10:44:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید