Կարող եք ձեր կոդը փորձարկել այստեղ
Ամսաթվերի և ժամերի ձևաչափում Ամսաթվի և ժամի օբյեկտները ձևաչափելու համար այս երկու դասերն էլ ապահովում են strftime(format) մեթոդը : Այս մեթոդը վերցնում է միայն մեկ պարամետր, որը ցույց է տալիս այն ձևաչափը, որին պետք է փոխարկվի ամսաթիվը կամ ժամը: Ձևաչափը սահմանելու համար մենք կարող ենք օգտագործել հետևյալ ձևաչափման կոդերից մեկը. %a . շաբաթվա օրվա հապավումը: Օրինակ, Wed - չորեքշաբթի բառից (անգլերեն անունները օգտագործվում են լռելյայն) A : շաբաթվա օրն ամբողջությամբ, օրինակ՝ չորեքշաբթի %b . ամսվա անվան հապավումը: Օրինակ՝ հոկտեմբեր (հոկտեմբերի կրճատ) %B . ամսվա անվանումն ամբողջությամբ, օրինակ՝ հոկտեմբեր %d : ամսվա օր, լրացված զրոյով, օրինակ՝ 01 %m . ամսվա համարը լրացված է զրոյով, օրինակ՝ 05 %y : տարին որպես 2 թվեր %Y : տարին որպես 4 թվեր %H : ժամ 24 ժամվա ձևաչափով, օրինակ՝ 13 I : ժամը 12 ժամվա ձևաչափով, օրինակ՝ 01 %M : րոպե %S : վայրկյան %f ՝ միկրովայրկյան %p . AM/PM ցուցիչ %c . ամսաթիվը և ժամանակը ձևաչափված են ընթացիկ տեղանքի համար %x . ամսաթիվը ձևաչափված է ընթացիկ տեղանքի համար %X . ժամանակը ձևաչափված է ընթացիկ տեղանքի համար Մենք օգտագործում ենք տարբեր ձևաչափեր.
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d")) # 2017-05-03
print(now.strftime("%d/%m/%Y")) # 03/05/2017
print(now.strftime("%d/%m/%y")) # 03/05/17
print(now.strftime("%d %B %Y (%A)")) # 03 May 2017 (Wednesday)
print(now.strftime("%d/%m/%y %I:%M")) # 03/05/17 01:36
Շաբաթվա ամիսների և օրերի անունները ցուցադրելիս լռելյայն օգտագործվում են անգլերեն անունները: Եթե մենք ցանկանում ենք օգտագործել ընթացիկ տեղանքը, մենք կարող ենք նախադրել այն՝ օգտագործելով տեղայնացման մոդուլը.
from datetime import datetime
import locale
locale.setlocale(locale.LC_ALL, "")
now = datetime.now()
print(now.strftime("%d %B %Y (%A)")) # 03 Май 2017 (среда)
Ամսաթվերի և ժամերի գումարում և հանում Հաճախ ամսաթվերի հետ աշխատելիս անհրաժեշտ է դառնում ամսաթվին որոշակի ժամանակ ավելացնել կամ հակառակը հանել որոշակի ժամանակահատված։ Եվ հատուկ նման գործողությունների համար timedelta դասը սահմանվում է datetime մոդուլում : Փաստորեն, այս դասը սահմանում է որոշակի ժամանակահատված: Ժամանակահատվածը սահմանելու համար կարող եք օգտագործել timedelta կոնստրուկտորը.
timedelta([days] [, seconds] [, microseconds] [, milliseconds] [, minutes] [, hours] [, weeks])
Մենք հաջորդաբար օրեր, վայրկյաններ, միկրովայրկյաններ, միլիվայրկյաններ, րոպեներ, ժամեր և շաբաթներ ենք փոխանցում կոնստրուկտորին: Սահմանենք մի քանի ժամանակաշրջան.
from datetime import timedelta
three_hours = timedelta(hours=3)
print(three_hours) # 3:00:00
three_hours_thirty_minutes = timedelta(hours=3, minutes=30) # 3:30:00
two_days = timedelta(2) # 2 days, 0:00:00
two_days_three_hours_thirty_minutes = timedelta(days=2, hours=3, minutes=30) # 2 days, 3:30:00
Օգտագործելով timedelta մենք կարող ենք ավելացնել կամ հանել ամսաթվերը: Օրինակ, եկեք ստանանք ամսաթիվ, որը կլինի երկու օրից.
from datetime import timedelta, datetime
now = datetime.now()
print(now) # 2017-05-03 17:46:44.558754
two_days = timedelta(2)
in_two_days = now + two_days
print(in_two_days) # 2017-05-05 17:46:44.558754
Կամ մենք կիմանանք, թե քանի ժամ է եղել 10 ժամ 15 րոպե առաջ, այսինքն՝ մենք իրականում պետք է հանենք 10 ժամ 15 րոպե ընթացիկ ժամանակից.
from datetime import timedelta, datetime
now = datetime.now()
till_ten_hours_fifteen_minutes = now - timedelta(hours=10, minutes=15)
print(till_ten_hours_fifteen_minutes)
timedelta հատկությունները Timedelta դասը ունի մի քանի հատկություններ, որոնցով մենք կարող ենք ստանալ ժամանակաշրջան. օրեր : վերադարձնում է օրերի քանակը վայրկյան : վերադարձնում է վայրկյանների քանակը միկրովայրկյաններ : վերադարձնում է միկրովայրկյանների քանակը Բացի այդ, total_seconds() մեթոդը վերադարձնում է վայրկյանների ընդհանուր թիվը, որը ներառում է օրեր, իրական վայրկյաններ և միկրովայրկյաններ: Օրինակ, եկեք պարզենք, թե ինչ ժամանակահատված է երկու ամսաթվերի միջև.
from datetime import timedelta, datetime
now = datetime.now()
twenty_two_may = datetime(2017, 5, 22)
period = twenty_two_may - now
print("{} дней {} second {} microsecond".format(period.days, period.seconds, period.microseconds))
print("Всего: {} second".format(period.total_seconds()))
Ամսաթվերի համեմատություն Ինչպես տողերն ու թվերը, ամսաթվերը կարելի է համեմատել՝ օգտագործելով ստանդարտ համեմատական օպերատորներ.
from datetime import datetime
now = datetime.now()
deadline = datetime(2017, 5, 22)
if now > deadline:
print("The project deadline has passed")
elif now.day == deadline.day and now.month == deadline.month and now.year == deadline.year:
print("Project due today")
else:
period = deadline - now
print("Days left {}".format(period.days))
Մեկնաբանություն գրելու համար խնդրում ենք մուտք լինել