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

