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

سرور مجازی NVMe

روش دریافت تاریخ و زمان فعلی در پایتون

0 45
زمان لازم برای مطالعه: 5 دقیقه


معرفی

ورود به سیستم، ذخیره سوابق در پایگاه داده، و دسترسی به فایل ها، همگی از کارهای رایجی هستند که یک برنامه نویس انجام می دهد روی. در هر یک از این موارد، تاریخ و زمان نقش مهمی در حفظ معنا و یکپارچگی داده ها دارند. برنامه نویسان اغلب باید با تاریخ و زمان درگیر شوند.

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

همچنین یاد خواهیم گرفت که چگونه تاریخ و زمان خود را برای مناطق زمانی مختلف تنظیم کنیم. در نهایت، ما به تبدیل نگاه خواهیم کرد datetime اشیاء به مهرهای زمانی محبوب Unix یا Epoch.

دریافت تاریخ و زمان فعلی با زمان تاریخ

را datetime ماژول شامل کلاس های مختلفی برای دریافت اطلاعات در مورد تاریخ و زمان است:

  • datetime.date: روز، ماه و سال یا تاریخ را ذخیره می کند
  • datetime.time: زمان را بر حسب ساعت، دقیقه، ثانیه و میکروثانیه ذخیره می کند. این اطلاعات مستقل از هر تاریخی است
  • datetime.datetime: هر دو را ذخیره می کند date و time ویژگی های

بیایید تاریخ و زمان فعلی را با a بدست آوریم datetime.datetime شی، زیرا استخراج آن آسان تر است date و time اشیاء از آن اول، اجازه دهید import را datetime مدول:

from datetime import datetime

در حالی که در ابتدا عجیب به نظر می رسد، ما در حال دریافت آن هستیم datetime کلاس از datetime ماژول که دو چیز مجزا هستند.

ما می توانیم استفاده کنیم now() تابع برای به دست آوردن یک شی با جاری تاریخ و زمان:

current_datetime = datetime.now()
print(current_datetime)

با اجرای این فایل خروجی زیر را به ما می دهد:

2019-12-13 12:18:18.290623

را now() تابع یک شی با تمام تاریخ و زمان لحظه ایجاد آن به ما داد. زمانی که ما print پایتون به‌طور خودکار شی را به رشته‌ای قالب‌بندی می‌کند تا انسان بتواند آن را به راحتی بخواند. می توانید راهنمای ما را بخوانید روی روش قالب بندی تاریخ ها در پایتون برای یادگیری روش های مختلف print زمان.

شما می توانید ویژگی های فردی تاریخ و زمان را مانند این دریافت کنید:

print(current_datetime.year)            
print(current_datetime.month)           
print(current_datetime.day)             
print(current_datetime.hour)            
print(current_datetime.minute)          
print(current_datetime.second)          
print(current_datetime.microsecond)     

را now() روش برای ثبت یک لحظه عالی است. با این حال، زمانی که شما فقط به تاریخ اهمیت می دهید، زائد است یا زمان، اما نه هر دو. چگونه می توانیم فقط اطلاعات تاریخ را دریافت کنیم؟

دریافت تاریخ فعلی

دو راه برای دریافت تاریخ فعلی در پایتون وجود دارد. در پایتون console، می توانیم تاریخ را از a datetime شی با date() روش:

>>> from datetime import datetime
>>> current_date = datetime.now().date()
>>> print(current_date)
2019-12-13

با این حال، به نظر می رسد مقداردهی اولیه a اتلاف باشد datetime فقط برای ثبت تاریخ اعتراض کنید. یک جایگزین می تواند استفاده از today() روش از date کلاس:

>>> from datetime import date
>>> current_date = date.today()
>>> print(current_date)
2019-12-13

را datetime.date کلاس نشان دهنده یک تاریخ تقویم است. آن year، month، و day به همان روشی که ما به آنها دسترسی داریم می توان به ویژگی ها دسترسی داشت روی را datetime هدف – شی.

پیشنهاد می‌کنیم بخوانید:  روش حذف موارد تکراری از یک آرایه در جاوا اسکریپت هنگام مصرف API یا بازیابی داده ها از یک آرایه، ممکن است با داده هایی روبرو شوید که تکرار می شوند، اما فقط می خواهید مقادیر منحصر به فرد را انتخاب کنید. برای مثال، فرض کنید که آرایه ای دارید که منوی رستوران را نشان می دهد، همانطور که در زیر نشان داده شده است. ممکن است لازم باشد دسته های موجود را از آن آرایه بازیابی کنید -...

مثلا این print عبارت هر ویژگی را دریافت می کند و همچنین از آن استفاده می کند weekday() روش دریافت روز هفته:

>>> print("It's the %dth day of the week, %dth day of the %dth month of the %dth year" %
... (current_date.weekday()+1, current_date.day, current_date.month, current_date.year))
It's the 5th day of the week, 13th day of the 12th month of the 2019th year

توجه داشته باشید: weekday() متد یک عدد صحیح بین 0 تا 6 را برای نمایش روز هفته برمی گرداند. 0 مربوط به دوشنبه است. بنابراین، در مثال ما 1 را به منظور اضافه کردیم print روز پنجم هفته (جمعه)، اگرچه weekday() روش برگردانده شد 4.

اکنون که می توانیم تاریخ فعلی را به تنهایی دریافت کنیم، بیایید ببینیم چگونه می توانیم زمان فعلی را بدست آوریم

دریافت زمان فعلی

ما زمان فعلی را از a می گیریم datetime شی با استفاده از time() روش:

>>> from datetime import datetime
>>> current_time = datetime.now().time()
>>> print(current_time)
12:18:18.290623

برخلاف بازیابی تاریخ ها، هیچ میانبری برای ثبت مستقیم زمان فعلی وجود ندارد. را datetime.time کلاس مفهومی از زمان را به صورت ساعت، دقیقه، ثانیه و میکروثانیه نشان می دهد – هر چیزی که کمتر از یک روز باشد.

مانند datetime شی، ما می توانیم مستقیماً به ویژگی های آن دسترسی داشته باشیم. در اینجا یک مثال است که در آن ما print را current_time در یک جمله:

>>> print("It's %d o'clock. To be exact, it's %d:%d and %d seconds with %d microseconds" %
... (current_time.hour, current_time.hour, current_time.minute, current_time.second, current_time.microsecond))
It's 12 o'clock. To be exact, it's 12:18 and 18 seconds with 290623 microseconds

به طور پیش فرض، now() تابع زمان منطقه زمانی محلی شما را برمی گرداند. اگر لازم باشد آن را به یکی دیگر که در اولویت کاربر تنظیم شده است تبدیل کنیم، چه؟ بیایید ببینیم چگونه می توانیم اطلاعات منطقه زمانی را برای بومی سازی ارائه کنیم time اشیاء.

دریافت تاریخ و زمان فعلی در منطقه زمانی مختلف

را now() متد یک منطقه زمانی را به عنوان آرگومان می پذیرد، به طوری که datetime شی در حال تولید به طور مناسب تنظیم می شود. ابتدا باید داده های منطقه زمانی را از طریق دریافت کنیم پیتز کتابخانه

را نصب کنید pytz کتابخانه با pip اگر در دسترس نباشد روی کامپیوتر شما در حال حاضر:

$ pip3 install pytz

حالا بیایید استفاده کنیم pytz برای دریافت تاریخ و زمان فعلی اگر در برلین بودیم:

>>> import pytz
>>> from datetime import datetime
>>> tz = pytz.timezone('Europe/Berlin')
>>> berlin_current_datetime = datetime.now(tz)
>>> print(berlin_current_datetime)
2019-12-14 00:20:50.840350+01:00

را berlin_current_datetime خواهد بود datetime شی با تمام خصوصیات و عملکردهایی که قبلاً دیدیم، اما اکنون کاملاً با آنچه برای کسی که در آنجا زندگی می کند مطابقت دارد.

پیشنهاد می‌کنیم بخوانید:  ذخیره سازی در localStorage در React هنگام توسعه برنامه های کاربردی سبک - ممکن است بخواهیم برخی از داده ها را ذخیره کنیم. اگر پایگاه داده بیش از حد است - یک جایگزین عالی وجود دارد: localStorage! در حالی که این یک پایگاه داده را برای اهداف پایگاه داده جایگزین نمی کند ، اما به عنوان یک سیستم ذخیره سازی ساده مبتنی بر پرونده عمل می کند که می توانید برای ذخیره داده های قابل دسترسی به راحتی از آن استفاده کنید ...

اگر می خواهید زمان را در UTC دریافت کنید، می توانید از آن استفاده کنید pytz ماژول مانند قبل:

>>> import pytz
>>> from datetime import datetime
>>> utc_current_datetime = datetime.now(pytz.timezone("UTC"))
>>> print(utc_current_datetime)
2019-12-13 23:20:50.840350+00:00

از طرف دیگر، برای زمان UTC شما مجبور نیستید از آن استفاده کنید pytz ماژول اصلا را datetime ماژول دارای یک timezone دارایی، که می تواند به صورت زیر استفاده شود:

>>> from datetime import datetime, timezone
>>> utc_current_datetime = datetime.now(timezone.utc)
>>> print(utc_current_datetime)
2019-12-13 23:20:50.840350+00:00

اکنون که می‌توانیم تاریخ‌ها و زمان‌های خود را برای مطابقت با مناطق زمانی مختلف تبدیل کنیم، بیایید ببینیم چگونه می‌توانیم آن را به یکی از پرکاربردترین فرمت‌ها در محاسبات تبدیل کنیم – مهر زمانی یونیکس.

تبدیل مهرهای زمانی به تاریخ و زمان

سیستم های کامپیوتری بر اساس زمان اندازه گیری می کنند روی تعداد ثانیه های سپری شده از دوره یونیکس، یعنی 00:00:00 UTC روی 1 ژانویه 1970. برای برنامه‌ها، پایگاه‌های داده و پروتکل‌ها معمول است که از مهر زمانی برای نمایش زمان استفاده کنند.

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

>>> import time
>>> print(time.time())
1576280665.0915806

را time.time() تابع یک عدد شناور با مهر زمانی یونیکس برمی گرداند. می توانید مهر زمانی را به a تبدیل کنید datetime شی با استفاده از fromtimestamp() تابع:

>>> from datetime import datetime
>>> print(datetime.fromtimestamp(1576280665))
2019-12-13 19:44:25

به طور پیش فرض، fromtimestamp() برمی گرداند a datetime شی در منطقه زمانی شما اگر می‌خواهید به گونه‌ای دیگر بومی‌سازی شود، می‌توانید یک منطقه زمانی به عنوان آرگومان دوم ارائه دهید.

به عنوان مثال، برای تبدیل یک مهر زمانی به a datetime شی در UTC، می توانید این کار را انجام دهید:

>>> from datetime import datetime, timezone
>>> print(datetime.fromtimestamp(1576280665, timezone.utc))
2019-12-13 19:44:25+00:00

برعکس، می توانید از timestamp() روش تبدیل a datetime اعتراض به مهر زمانی معتبر:

>>> from datetime import datetime, timezone
>>> print(datetime.now(timezone.utc).timestamp())
1577117555.940705

نتیجه

پایتون داخلی datetime کتابخانه به ما امکان می دهد تاریخ و زمان فعلی را با now() تابع. ما می توانیم از بازگشت داده شده استفاده کنیم datetime برای استخراج فقط قسمت تاریخ یا زمان مورد نظر قرار دهید. ما همچنین می توانیم تاریخ فعلی را با استفاده از today() تابع.

به طور پیش فرض، پایتون ایجاد می کند datetime اشیاء در منطقه زمانی محلی ما اگر از آن استفاده کنیم pytz کتابخانه، ما می توانیم تاریخ و زمان را به مناطق زمانی مختلف تبدیل کنیم.

در نهایت از آن استفاده کردیم fromtimestamp() تابعی برای گرفتن مهر زمانی یونیکس برای گرفتن a datetime هدف – شی. اگر یک داریم datetime شی، ما می توانیم با استفاده از آن یک مهر زمانی دریافت کنیم timestamp() روش.

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



منتشر شده در 1403-01-18 22:05:05

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

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

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