از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
پایتون: تعداد روز بین تاریخ ها را دریافت کنید
سرفصلهای مطلب
معرفی
در این آموزش نگاهی به این خواهیم داشت چگونه تعداد روزهای بین دو تاریخ را در پایتون بدست آوریم.
ما از داخلی استفاده خواهیم کرد 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