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

سرور مجازی NVMe

حساب تاریخ، تغییر و برش با دلورین پایتون

0 8
زمان لازم برای مطالعه: 3 دقیقه


معرفی

کار با زمان قرار می تواند کمی دلهره آور و چالش برانگیز باشد و مدیریت تاریخ در پایتون نیز از این قاعده مستثنی نیست. پایتون داخلی datetime ماژول ما را با چندین کلاس آشنا کرد – date، datetime، time، timezone و timedeltaو چندین کتابخانه خارجی برای رسیدگی به مسائل موجود در ماژول رسمی مانند Arrow ایجاد شده اند.

در این راهنما، ما نگاهی به روش انجام محاسبات زمان و تاریخ، تغییر و برش اشیاء تاریخ در زمان خواهیم انداخت. دلورین – یک کتابخانه ساخته شده بر روی پیتز که کتابخانه استاندارد برای حل مسائل مربوط به مناطق زمانی است و dateutil که برای محاسبه دلتاها بین هر 2 شی تاریخ داده شده استفاده می شود.

نصب Delorean راه اندازی یک محیط مجازی

Delorean برای نصب از طریق در دسترس است pip. به طور کلی توصیه می شود که در یک محیط مجازی کار کنید زیرا به شما امکان می دهد وابستگی های مورد نیاز پروژه های مختلف را جدا شده سازماندهی کنید.

در لینوکس یا MacOS برای ایجاد یک محیط مجازی، ما اجرا می کنیم:

$ python3 -m venv env
$ source env/bin/activate
$ python3 -m pip install delorean

متناوبا، از سوی دیگر، روی ویندوزی که می توانیم اجرا کنیم:

$ virtualenv env
$ .\env\Scripts\activate
$ python3 -m pip install delorean

جمع و تفریق زمان با Timedelta

timedelta نشان دهنده تفاوت بین دو است datetime اشیاء است و وضوح میکروثانیه دارد. استفاده کردن timedelta، می توانیم مدت زمان های مختلف را تعریف کنیم، مانند microseconds، seconds، minutes، hours، days و weeks.

این شامل هیچ اطلاعاتی در مورد تاریخ نیست – فقط مدت زمان. این timedelta بین 5 تا 10 خرداد برابر است با timedelta بین 5 تا 10 مه – 5 روز.

این باعث می شود که جمع یا کم کردن مدت زمان از آن واقعاً آسان باشد datetime اشیاء:

from delorean import Delorean
import datetime

dt_tm_future = Delorean()
dt_tm_future += datetime.timedelta(days=3)

dt_tm_past = Delorean()
dt_tm_past -= datetime.timedelta(weeks=3)

print("The date 3 days from now is: ", dt_tm_future)
print("The date 3 weeks before now was: ", dt_tm_past)

این نتیجه در:

The date 3 days from now is:  Delorean(datetime=datetime.datetime(2021, 7, 17, 10, 22, 51, 403546), timezone='UTC')
The date 3 weeks before now was:  Delorean(datetime=datetime.datetime(2021, 6, 23, 10, 22, 51, 403643), timezone='UTC')

با Delorean تعداد روزهای بین قرارها را دریافت کنید

یک ناشناخته مشترک با چندین تاریخ، تعداد روزهای بین دو تاریخ معین است. این نتیجه معمولاً در یک بسته بندی می شود timedelta با توجه به این واقعیت که برای نشان دادن این تفاوت طراحی شده است.

پیشنهاد می‌کنیم بخوانید:  پایتون ناهمزمان برای توسعه وب

با توجه به اینکه جمع یا تفریق چقدر آسان است timedelta از تاریخ و تا تاریخ، طبیعی است که این عملیات نیز آسان است.

برای بدست آوردن تعداد روزهای بین دو تاریخ در پایتون با دلورین، فقط تاریخ ها را کم می کنیم که نتیجه آن timedelta نمایش تفاوت:

present_date = Delorean()
new_year = Delorean(datetime=datetime.datetime(2022, 1, 1), timezone='UTC')
until_new_year = new_year - present_date
print("Days until 2022 ", until_new_year)
print("Days till 2022 ", until_new_year.days)

ما میتوانیم print کل timedelta شی یا فقط به آن دسترسی داشته باشید days صفت:

Days until 2022  170 days, 13:24:22.817417
Days till 2022  170

تغییر زمان و تاریخ

Delorean به شما این امکان را می دهد که بدون زحمت اشیاء زمان تاریخ را با جایگزینی یا جابجایی مقادیر تغییر دهید. برای این کار از replace() و shift() مواد و روش ها.

این replace() متد به شما امکان می دهد جنبه خاصی از نمونه تاریخ را جایگزین کنید، while shift() به شما امکان می دهد منطقه زمانی را تغییر دهید:

from delorean import Delorean

date = Delorean(datetime=datetime.datetime(2021, 5, 14, 12), timezone='Europe/Paris')

altered_tm = date.replace(hour=10)
altered_dt = date.replace(month=10)

print("Altered time is:", altered_tm)
print("Altered date is:", altered_dt)

altered_dt.shift('US/Pacific')
print("Shifted object:", altered_dt)

ما ایجاد کرده ایم Delorean به عنوان مثال، آن را تغییر داد hour و month ویژگی ها، و سپس شیء جدید و تغییر یافته datetime را به یک منطقه زمانی جدید منتقل کرد:

Altered time is: Delorean(datetime=datetime.datetime(2021, 5, 14, 10, 0), timezone='Europe/Paris')
Altered date is: Delorean(datetime=datetime.datetime(2021, 10, 14, 12, 0), timezone='Europe/Paris')
Shifted object: Delorean(datetime=datetime.datetime(2021, 10, 14, 3, 0), timezone='US/Pacific')

اشیاء Datetime را با Delorean کوتاه کنید

بسته به روی دلیل استفاده شما datetime برای – ممکن است به اندازه گیری های مرتبه کوچکتر مانند ثانیه یا میلی ثانیه اهمیتی ندهید. در حالی که شما به سادگی می توانید print داده ها را بدون اندازه گیری خارج کنید – همچنین می توانید truncate() آنها را از Delorean خود شی

پیشنهاد می‌کنیم بخوانید:  نام "__file__" در پایتون تعریف نشده است

روش کار می کند روی اندازه‌گیری‌های مرتبه بالاتر را نیز انجام می‌دهد و تمام بازه‌های زمانی معتبر دلور را می‌پذیرد years:

from delorean import Delorean

date = Delorean()
print("Date before truncation:", date)

trun_min = date.truncate('minute') 
print("Truncated to minutes = ", trun_min)

شایان ذکر است که شما هستید کوتاه شدن به یک سطح اندازه گیری مشخص. به این معنی که – اگر به دقیقه کوتاه کنید – ثانیه و میلی ثانیه کاهش می یابد. در اصل – شما وضوح تصویر را تنظیم می کنید Delorean نمونه، مثال:

Date before truncation: Delorean(datetime=datetime.datetime(2021, 7, 14, 10, 52, 9, 893770), timezone='UTC')
Truncated to minutes =  Delorean(datetime=datetime.datetime(2021, 7, 14, 10, 52), timezone='UTC')

نتیجه

در این راهنما، ما نگاهی به روش انجام محاسبات زمان و تاریخ، تغییر و برش در پایتون با Delorean انداخته‌ایم.

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



منتشر شده در 1403-01-09 16:56:05

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

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

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