Python DatumTijd, TijdDelta, Strftime (formaat) met voorbeelden
โก Slimme samenvatting
Python datetime, along with the date, time, and timedelta classes, handles dates, times, and intervals as objects. The datetime module formats output with strftime(), parses strings, and calculates future or past moments using timedelta arithmetic.

In Python, datum, tijd en datetime classes provide a number of functions to deal with dates, times and time intervals. Date and datetime in Python are objects, so when you manipulate them, you are actually manipulating objects and not strings or timestamps. Whenever you manipulate dates or time, you need to import the datetime module.
De datetime-klassen in Python are categorized into 5 main classes.
- datum - Manipuleer alleen de datum (maand, dag, jaar)
- tijd โ Tijd onafhankelijk van de dag (uur, minuut, seconde, microseconde)
- datetime โ Combinatie van tijd en datum (maand, dag, jaar, uur, seconde, microseconde)
- timedelta - Een tijdsduur die wordt gebruikt voor het manipuleren van datums
- tzinfoโ Een abstract-klasse voor het omgaan met tijdzones
Datum- en datum-tijdklasse gebruiken
Stap 1) Voordat u de code voor het datum/tijd-formaat uitvoert Python, is het belangrijk dat u de Python datum-tijdmodules zoals weergegeven in de onderstaande schermafbeelding.
Deze importinstructies zijn vooraf gedefinieerde stukjes functionaliteit in het Python library that let you manipulate dates and times, without writing any code.
Houd rekening met de volgende punten voordat u de Python datum/tijd-formaatcode
from datetime import date
Deze regel vertelt de Python tolk om de datumklasse uit de datetime-module in te importeren Python. We are not writing the code for this date functionality but are simply importing it for our use.
Datum afdrukken met date.today()
The date.today() function has several properties associated with it. We can print the individual day/month/year and many other things.
Laten we een voorbeeld bekijken
Het weekdagnummer van vandaag
The date.today() function also gives you the weekday number. Here is the Weekday Table which starts with Monday as 0 and Sunday as 6.
| Dag | Weekdagnummer |
|---|---|
| Monday | 0 |
| dinsdag | 1 |
| woensdag | 2 |
| donderdag | 3 |
| vrijdag | 4 |
| zaterdag | 5 |
| zondag | 6 |
Weekdagnummer is handig voor arrays waarvan de index afhankelijk is van de dag van de week.
Stap 2) Vervolgens maken we een exemplaar van het date-object.
Stap 3) Vervolgens drukken we de datum af en voeren we de code uit.
The output is as expected.
Python Huidige datum en tijd: now() today()
Stap 1) Net als Date Objects kunnen we ook gebruiken โDATETIME-OBJECTENโ in Python. Python datum- en tijdobjecten geven datum en tijd weer uren, minuten, seconden en milliseconden.
Wanneer we de code voor datetime uitvoeren, geeft deze de uitvoer met de huidige datum en tijd.
Stap 2) With โDATETIME OBJECTโ, you can also call the time class. Suppose we want to print just the current time without the date.
t = datetime.time(datetime.now())
- We hadden de tijdklasse geรฏmporteerd. We zullen het de huidige waarde van tijd toewijzen met behulp van datetime.now()
- We kennen de waarde van de huidige tijd toe aan de variabele t.
En dit geeft mij precies de tijd. Dus laten we dit programma uitvoeren.
Okay, so you can see that here I got the date and time. And then the next line, Iโve got just the time by itself.
Stap 3) We will apply our weekday indexer to our weekdayโs array list to know which day is today.
- Weekdays operator (wd) is assigned the number from (0-6) depending on what the current weekday is. Here we declared the array of the list for days (Mon, Tue, WedโฆSun).
- Gebruik die indexwaarde om te weten welke dag het is. In ons geval is dit nummer 2 en vertegenwoordigt het woensdag, dus in de uitvoer wordt 'Wat een woensdag is' afgedrukt.
Hier is de volledige code om de huidige datum en tijd op te halen met datetime now
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
Datum- en tijduitvoer opmaken met Strftime()
So far, we have learned how to use datetime and date bezwaar in Python. We gaan nog een stap verder en leren hoe u een opmaakfunctie kunt gebruiken om tijd en datum op te maken.
Stap 1) Eerst zullen we een eenvoudige stap zien voor het formatteren van het jaar. Het is beter om het te begrijpen met een voorbeeld.
- We gebruikten de โstrftime functionโ voor opmaak.
- Deze functie maakt gebruik van verschillende controlecode een uitvoer te geven.
- Each control code resembles different parameters like year, month, weekday and date [(%y/%Y โ Jaar), (%a/%A- weekdag), (%b/%B- maand), (%d โ dag van de maand)] .
- In ons geval is dat zo (โ%Yโ) dat op het jaar lijkt, wordt het volledige jaar met de eeuw afgedrukt (bijvoorbeeld 2018).
Stap 2) Als u nu (โ%Yโ) vervangt door kleine letters, dat wil zeggen (โ%y)โ en de code uitvoert, wordt alleen (18) weergegeven en niet (2018). De eeuw van het jaar wordt niet weergegeven zoals weergegeven in de onderstaande schermafbeelding
Stap 3) Strf function can declare the date, day, month and year separately. Also with small changes in the control code in strftime function you can format the style of the text.
Inside the strftime function if you replace (%a) with capital A, i.e., (%A) the output will print out as โFridayโ instead of just an abbreviation โFriโ.
Stap 4) Met behulp van de โStrftimeโ -functie kunnen we ook de lokale systeemtijd, datum of beide ophalen.
- %C- geeft de lokale datum en tijd aan
- %x- geeft de lokale datum aan
- %X- geeft de lokale tijd aan
In de uitvoer ziet u het resultaat zoals verwacht
Stap 5) Met de โstrftime-functieโ kunt u de tijd in elk gewenst formaat aanroepen: 24 uur of 12 uur.
Door simpelweg de controlecode te definiรซren, zoals %I/H voor uur, % M voor minuut, %S voor seconde, kan men tijd voor verschillende formaten oproepen
12 uur tijd is gedeclareerd [print now.strftime(โ%I:%M:%S %p) ]
24 uur tijd is gedeclareerd [print now.strftime(โ%H:%Mโ)]
Hier is de volledige code om datetime naar String-object te converteren.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Wat is Timedelta in Python?
Tijdsdelta in Python `timedelta` is een object dat de tijdsduur vertegenwoordigt. Het wordt voornamelijk gebruikt om de tijdsduur tussen twee datums en tijden te berekenen. Het wordt ook gebruikt om een โโobject met een bepaalde datum- en tijdsdelta op te halen. Het `timedelta`-object ondersteunt wiskundige bewerkingen zoals optellen en aftrekken.tracties, vermenigvuldiging, deling enz.
Hoe Timedelta-objecten te gebruiken
Met Python Met timedelta-objecten kunt u de tijd voor zowel de toekomst als het verleden schatten. Met andere woorden, het is een tijdspanne om een โโspeciale dag, datum of tijd te voorspellen.
Onthoud dat deze functie niet bedoeld is om de tijd of datum af te drukken, maar om te BEREKENEN over de toekomst of het verleden. Letโs see a Python timedelta voorbeeld om het beter te begrijpen.
Stap 1) Om Timedelta-objecten uit te voeren, moet u eerst de import-instructie declareren en vervolgens de code uitvoeren
- Schrijf import-statement voor timedelta
- Schrijf nu de code om het object uit de tijdsdelta af te drukken zoals weergegeven in de schermafbeelding
- Voer de code uit. De timedelta vertegenwoordigt een periode van 365 dagen, 8 uur en 15 minuten en drukt hetzelfde af
Verwarrend? De volgende stap zal helpen-
Stap 2) Laten we de datum en tijd van vandaag gebruiken om te controleren of onze importverklaring goed werkt. Wanneer de code wordt uitgevoerd, wordt de datum van vandaag afgedrukt, wat betekent dat onze importinstructie goed werkt
Stap 3) We zullen zien hoe we een datum een โโjaar later kunnen ophalen via delta-objecten. Wanneer we de code uitvoeren, geeft het de output zoals verwacht.
Stap 4) Een ander voorbeeld van hoe tijdsdelta kan worden gebruikt om toekomstige datums te berekenen op basis van de huidige datum en tijd
Stap 5) Laten we eens kijken naar een complexer voorbeeld. Ik wil graag bepalen hoeveel dagen na Nieuwjaar. Dit is hoe we verder gaan
- Met today= date.today() krijgen we de datum van vandaag
- We weten dat het nieuwe jaar altijd op 1 januari valt, maar het jaar kan anders zijn. Met nyd= date(today.year,1,1) slaan we het nieuwe jaar op in de variabele nyd
- if nyd < today: compares whether the current date is greater than the new year. If yes, it enters the while loop
- ((today-nyd).days) geeft het verschil tussen een huidige datum en het nieuwe jaar in DAGEN
Uit de output blijkt dat โNieuwjaarsdag al 11 dagen geleden voorbij is.โ
Hier is de volledige werkende code
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Python 2 Voorbeeld
The following examples show the same date and time operations written for Python 2, where print is a statement rather than a function. Use these versions only when maintaining legacy Python 2 code.
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)



















