Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python DateTime, TimeDelta, StRFtime(Format) met voorbeelden

In Python, datum, tijd en datetime klassen biedt een aantal functies om met datums, tijden en tijdsintervallen om te gaan. Datum en datumtijd in Python zijn de objecten, dus als je ze manipuleert, manipuleer je eigenlijk objecten en geen tekenreeksen of tijdstempels. Telkens wanneer u datums of tijd manipuleert, moet u de datetime-functie importeren.

De datetime-klassen in Python zijn onderverdeeld in 5 hoofdklassen.

  • 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 abstracte klasse voor het omgaan met tijdzones

In deze tutorial zullen we leren-

  • Datum en DateTime-klasse gebruiken
  • Druk datum af met date.today()
  • Python huidige datum en tijd:nu() vandaag()
  • Datum- en tijduitvoer opmaken met StRFtime()
  • Timedelta-objecten gebruiken

Datum- en DateTime-klasse gebruiken

Stap 1 ) Voordat u de code voor datetime-indeling in Python uitvoert, is het belangrijk dat u de Python-datetime-modules importeert zoals weergegeven in de onderstaande schermafbeelding.

Deze importinstructies zijn vooraf gedefinieerde stukjes functionaliteit in de Python-bibliotheek waarmee u datums en tijden kunt manipuleren zonder code te schrijven.

Overweeg de volgende punten voordat u de Python datetime-formaatcode uitvoert

from datetime import date

Deze regel vertelt de Python-interpreter om de datumklasse uit de datetime-module in Python te importeren. We schrijven de code voor deze datumfunctionaliteit niet, maar importeren deze alleen voor ons gebruik

Stap 2 ) Vervolgens maken we een instantie van het datumobject.

Stap 3 ) Vervolgens printen we de datum en voeren de code uit.

De uitvoer is zoals verwacht.

Druk datum af met date.today()

date.today functie heeft verschillende eigenschappen die ermee verbonden zijn. We kunnen individuele dag/maand/jaar en vele andere dingen afdrukken

Laten we een voorbeeld bekijken

Het nummer van de weekdag van vandaag

De functie date.today() geeft u ook het nummer van de weekdag. Hier is de weekdagtabel die begint met maandag als 0 en zondag als 6

Dag
Weekdagnummer
Maandag
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.

Python huidige datum en tijd:nu() vandaag()

Stap 1) Net als datumobjecten kunnen we ook “DATETIME OBJECTEN” . gebruiken in Python. Python-datum- en tijdobjecten geven de datum samen met de tijd in uren, minuten, seconden en milliseconden.

Wanneer we de code voor datetime uitvoeren, geeft het de uitvoer met de huidige datum en tijd.

Stap 2) Met "DATETIME OBJECT" kunt u ook tijdklasse oproepen.

Stel dat we alleen de huidige tijd willen afdrukken zonder de datum.

t = datetime.time(datetime.now())
  • We hadden de tijdklasse geïmporteerd. We zullen het de huidige waarde van tijd toewijzen met datetime.now()
  • We wijzen de waarde van de huidige tijd toe aan de variabele t.

En dit geeft me precies de tijd. Dus laten we dit programma uitvoeren.

Oké, dus je kunt zien dat ik hier de datum en tijd heb. En dan de volgende regel, ik heb gewoon de tijd alleen

Stap 3) We zullen onze weekdag-indexer toepassen op de arrayList van onze weekdag om te weten welke dag het vandaag is

  • Aan de operator voor weekdagen (wd) wordt het nummer (0-6) toegewezen, afhankelijk van wat de huidige weekdag is. Hier hebben we de reeks van de lijst voor dagen gedeclareerd (ma, di, wo…zon).
  • Gebruik die indexwaarde om te weten welke dag het is. In ons geval is het #2, en staat het voor woensdag, dus in de uitvoer wordt "Wat is een woensdag" afgedrukt.


Hier is de volledige code om de huidige datum en tijd te krijgen met datetime nu

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()

Vanaf nu hebben we geleerd hoe we datetime en date-object in Python kunnen gebruiken. We gaan 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 om het jaar op te maken. Het is beter te begrijpen met een voorbeeld.

  • We gebruikten de "strftime-functie" voor opmaak.
  • Deze functie gebruikt verschillende controlecodes om een ​​output te geven.
  • Elke controlecode lijkt op verschillende parameters zoals jaar, maand, weekdag en datum [(%y/%Y – Jaar), (%a/%A- weekdag), (%b/%B- maand) , (%d – dag van de maand)] .
  • In ons geval is dit (“%Y”) dat op jaar lijkt, drukt het volledige jaar af met de eeuw (bijv. 2018).

Stap 2) Als u nu ("%Y") vervangt door kleine letters, d.w.z. ("%y) en de code uitvoert, wordt in de uitvoer alleen (18) weergegeven en niet (2018). De eeuw van het jaar wordt niet weergegeven zoals weergegeven in de onderstaande schermafbeelding

Stap 3) De Strf-functie kan de datum, dag, maand en jaar afzonderlijk aangeven. Ook met kleine veranderingen in de besturingscode in de strftime-functie kunt u de stijl van de tekst opmaken.

Als u binnen de strftime-functie (%a) vervangt door hoofdletter A, d.w.z. (%A), wordt de uitvoer afgedrukt als "Vrijdag" in plaats van alleen een afkorting "Vrij".

Stap 4) Met behulp van de "Strftime"-functie kunnen we ook de lokale systeemtijd, datum of beide ophalen.

  1. %C- geeft de lokale datum en tijd aan
  2. %x- geeft de lokale datum aan
  3. %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 formaat 24 uur of 12 uur oproepen.

Gewoon door de controlecode te definiëren, zoals %I/H voor uur, % M voor minuut, %S voor seconde, kan men tijd oproepen voor verschillende formaten

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?

Tijddelta in Python is een object dat de duur vertegenwoordigt. Het wordt voornamelijk gebruikt om de duur tussen twee datums en tijden te berekenen. Het wordt ook gebruikt voor het ophalen van het object met een bepaalde deltadatum en -tijd. Het timedelta-object ondersteunt wiskundige bewerkingen zoals optellen, aftrekken, vermenigvuldigen, delen enz.

Timedelta-objecten gebruiken

Met Python timedelta-objecten kun je de tijd schatten voor zowel de toekomst als het verleden. Met andere woorden, het is een tijdspanne om een ​​speciale dag, datum of tijd te voorspellen.

Onthoud dat deze functie niet is bedoeld om de tijd of datum af te drukken, maar om iets te BEREKENEN over de toekomst of het verleden . Laten we een Python-timedelta-voorbeeld bekijken om het beter te begrijpen.

Stap 1) Om Timedelta Objects uit te voeren, moet u eerst het importstatement declareren en vervolgens de code uitvoeren

  1. Schrijf importverklaring voor timedelta
  2. Schrijf nu de code om het object uit de tijddelta af te drukken, zoals weergegeven in de schermafbeelding
  3. Voer de code uit. De tijddelta 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 bekijken om te controleren of onze importverklaring goed werkt. Wanneer code wordt uitgevoerd, wordt de datum van vandaag afgedrukt, wat betekent dat ons importstatement goed werkt

Stap 3) We zullen zien hoe we de datum over een jaar kunnen achterhalen via delta-objecten. Wanneer we de code uitvoeren, geeft het de output zoals verwacht.

Stap 4) Nog een voorbeeld van hoe tijddelta kan worden gebruikt om de toekomstige datum te berekenen vanaf de huidige datum en tijd

Stap 5) Laten we een complexer voorbeeld bekijken. Ik zou graag willen bepalen hoeveel dagen na het nieuwe jaar. Hier is hoe we verder gaan

  • Met behulp van today=date.today() krijgen we de datum van vandaag
  • We weten dat nieuwjaar 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 variabele nyd
  • if nyd
  • ((today-nyd).days) geeft het verschil tussen een huidige datum en nieuwjaar in DAGEN

De output laat zien dat "Nieuwjaarsdag al 11 dagen geleden voorbij was."

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

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)

Samenvatting

Voor het manipuleren van datums en tijden op zowel eenvoudige als complexe manieren biedt de datetime-module verschillende klassen of categorieën zoals

  • 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 abstracte klasse voor het omgaan met tijdzones

Datetime-objecten gebruiken

  • Het is verplicht om datetime-objecten te importeren voordat de code wordt uitgevoerd
  • De date.today-functie gebruiken voor het afdrukken van individuele datum/maand/jaar en voor het indexeren van de dag
  • Het object date.time gebruiken om tijd in uren, minuten, seconden en milliseconden te krijgen

Time-out formatteren met "str f time-functie"

  • Gebruik de "str f time-functie" om het formaat van het jaar te wijzigen
  • Druk dag, datum, maand en jaar afzonderlijk af,
  • Oproeptijd voor elk formaat 12 uur of 24 uur

Tijddelta-objecten

  • Met tijddelta-objecten kun je de tijd schatten voor zowel de toekomst als het verleden
  • Bereken het totale aantal resterende dagen voor de speciale dag (verjaardag) vanaf de huidige tijd
  • Bereken het totaal aantal verstreken dagen voor een speciale dag (verjaardag) vanaf de huidige tijd

Python

  1. Python datetime
  2. Hoe de huidige datum en tijd in Python te krijgen?
  3. Python Krijgen huidige tijd
  4. Python-tijdmodule
  5. Python-slaap()
  6. Python Print()-instructie:afdrukken met voorbeelden
  7. Python String count() met VOORBEELDEN
  8. Python String format() Leg uit met VOORBEELDEN
  9. Methode Python String find() met voorbeelden
  10. Python Lambda-functies met VOORBEELDEN
  11. Python round() functie met VOORBEELDEN