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 - Datum en tijd

Vorige paginaVolgende pagina

Een Python-programma kan op verschillende manieren met datum en tijd omgaan. Het converteren tussen datumnotaties is een veelvoorkomend karwei voor computers. De tijd- en kalendermodules van Python helpen bij het bijhouden van datums en tijden.

Wat is een vinkje?

Tijdsintervallen zijn getallen met drijvende komma in eenheden van seconden. Bepaalde tijdstippen in de tijd worden uitgedrukt in seconden sinds 00:00:00 uur 1 januari 1970 (tijdperk).

Er is een populaire tijd module beschikbaar in Python die functies biedt voor het werken met tijden en voor het converteren tussen representaties. De functie time.time() geeft de huidige systeemtijd in ticks terug sinds 00:00:00 uur 1 januari 1970(epoch).

Voorbeeld

Live demo
#!/usr/bin/python
import time;  # This is required to include time module.

ticks = time.time()
print "Number of ticks since 12:00am, January 1, 1970:", ticks

Dit zou een resultaat opleveren als volgt −

Number of ticks since 12:00am, January 1, 1970: 7186862.73399

Datumberekening is gemakkelijk te doen met teken. Datums vóór het tijdperk kunnen echter niet in deze vorm worden weergegeven. Datums in de verre toekomst kunnen ook niet op deze manier worden weergegeven - het afkappunt is ergens in 2038 voor UNIX en Windows.

Wat is TimeTuple?

Veel van de tijdfuncties van Python verwerken tijd als een tupel van 9 getallen, zoals hieronder getoond −

Index Veld Waarden
0 4-cijferig jaar 2008
1 Maand 1 tot 12
2 Dag 1 tot 31
3 Uur 0 tot 23
4 Minuut 0 tot 59
5 Tweede 0 tot 61 (60 of 61 zijn schrikkelseconden)
6 Dag van de week 0 tot 6 (0 is maandag)
7 Dag van het jaar 1 tot 366 (Juliaanse dag)
8 Zomerbesparing -1, 0, 1, -1 betekent dat bibliotheek DST bepaalt

De bovenstaande tuple is gelijk aan struct_time structuur. Deze structuur heeft de volgende kenmerken −

Index Kenmerken Waarden
0 tm_year 2008
1 tm_mon 1 tot 12
2 tm_mday 1 tot 31
3 tm_hour 0 tot 23
4 tm_min 0 tot 59
5 tm_sec 0 tot 61 (60 of 61 zijn schrikkelseconden)
6 tm_wday 0 tot 6 (0 is maandag)
7 tm_yday 1 tot 366 (Juliaanse dag)
8 tm_isdst -1, 0, 1, -1 betekent dat bibliotheek DST bepaalt

Huidige tijd ophalen

Een tijd onmiddellijk vertalen van seconden sinds het tijdperk drijvende-kommawaarde in een tijd-tupel, geef de drijvende-kommawaarde door aan een functie (bijv. lokale tijd) die een tijd-tupel retourneert met alle negen items geldig.

Live demo
#!/usr/bin/python
import time;

localtime = time.localtime(time.time())
print "Local current time :", localtime

Dit zou het volgende resultaat opleveren, dat in een andere presenteerbare vorm kan worden opgemaakt −

Local current time : time.struct_time(tm_year=2013, tm_mon=7, 
tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)

Geformatteerde tijd ophalen

U kunt op elk gewenst moment formatteren volgens uw vereisten, maar een eenvoudige methode om tijd in een leesbaar formaat te krijgen is asctime() −

Live demo
#!/usr/bin/python
import time;

localtime = time.asctime( time.localtime(time.time()) )
print "Local current time :", localtime

Dit zou het volgende resultaat opleveren −

Local current time : Tue Jan 13 10:17:09 2009

Een maandkalender krijgen

De kalendermodule biedt een breed scala aan methoden om met jaar- en maandkalenders te spelen. Hier drukken we een kalender af voor een bepaalde maand ( Jan 2008 ) −

Live demo
#!/usr/bin/python
import calendar

cal = calendar.month(2008, 1)
print "Here is the calendar:"
print cal

Dit zou het volgende resultaat opleveren −

Here is the calendar:
   January 2008
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

De tijd Module

Er is een populaire tijd module beschikbaar in Python die functies biedt voor het werken met tijden en voor het converteren tussen representaties. Hier is de lijst met alle beschikbare methoden −

Sr.nr. Functie met beschrijving
1 tijd.altzone

De offset van de lokale DST-tijdzone, in seconden ten westen van UTC, als er een is gedefinieerd. Dit is negatief als de lokale DST-tijdzone ten oosten van UTC ligt (zoals in West-Europa, inclusief het VK). Gebruik dit alleen als het daglicht niet nul is.

2 time.asctime([tupletime])

Accepteert een tijd-tupel en retourneert een leesbare reeks van 24 tekens, zoals 'Tue Dec 11 18:07:14 2008'.

3 tijd.klok( )

Retourneert de huidige CPU-tijd als een drijvende-kommagetal seconden. Om de rekenkosten van verschillende benaderingen te meten, is de waarde van time.clock nuttiger dan die van time.time().

4 time.ctime([sec])

Zoals asctime(localtime(secs)) en zonder argumenten is als asctime()

5 time.gmtime([sec])

Accepteert een moment uitgedrukt in seconden sinds het tijdperk en retourneert een tijd-tuple t met de UTC-tijd. Opmerking:t.tm_isdst is altijd 0

6 time.localtime([sec])

Accepteert een moment uitgedrukt in seconden sinds het tijdperk en retourneert een tijd-tuple t met de lokale tijd (t.tm_isdst is 0 of 1, afhankelijk van of DST van toepassing is op instant seconden volgens lokale regels).

7 time.mktime(tupletime)

Accepteert een moment uitgedrukt als een tijd-tupel in lokale tijd en retourneert een drijvende-kommawaarde met het moment uitgedrukt in seconden sinds het tijdperk.

8 tijd.slaap(sec)

Onderbreekt de oproepende thread voor seconden.

9 time.strftime(fmt[,tupletime])

Accepteert een moment uitgedrukt als een tijd-tupel in lokale tijd en retourneert een string die het moment vertegenwoordigt zoals gespecificeerd door string fmt.

10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

Parseert str volgens format string fmt en retourneert het moment in time-tuple formaat.

11 tijd.tijd( )

Retourneert het huidige tijdstip, een drijvende-kommagetal seconden sinds het tijdperk.

12 tijd.tzset()

Stelt de tijdconversieregels die worden gebruikt door de bibliotheekroutines opnieuw in. De omgevingsvariabele TZ geeft aan hoe dit wordt gedaan.

Laten we de functies kort doornemen −

Er zijn de volgende twee belangrijke attributen beschikbaar met de tijdmodule −

Sr.nr. Kenmerk met beschrijving
1

time.timezone

Attribuut time.timezone is de afwijking in seconden van de lokale tijdzone (zonder DST) vanaf UTC (>0 in Amerika; <=0 in het grootste deel van Europa, Azië, Afrika).

2

time.tzname

Attribuut time.tzname is een paar locale-afhankelijke strings, dit zijn de namen van de lokale tijdzone zonder respectievelijk met DST.

De kalender Module

De kalendermodule levert kalendergerelateerde functies, waaronder functies om een ​​tekstkalender voor een bepaalde maand of jaar af te drukken.

Standaard neemt de kalender maandag als eerste dag van de week en zondag als laatste. Om dit te wijzigen, roept u de functie calendar.setfirstweekday() aan.

Hier is een lijst met functies die beschikbaar zijn met de kalender module −

Sr.nr. Functie met beschrijving
1

calendar.calendar(jaar,w=2,l=1,c=6)

Retourneert een tekenreeks met meerdere regels met een kalender voor het jaar jaar, opgemaakt in drie kolommen, gescheiden door c-spaties. w is de breedte in tekens van elke datum; elke regel heeft lengte 21*w+18+2*c. l is het aantal regels voor elke week.

2

calendar.firstweekday( )

Retourneert de huidige instelling voor de weekdag die elke week begint. Wanneer de kalender voor het eerst wordt geïmporteerd, is dit standaard 0, wat maandag betekent.

3

calendar.isleap(jaar)

Retourneert True als jaar een schrikkeljaar is; anders niet waar.

4

calendar.leapdays(y1,y2)

Retourneert het totale aantal schrikkeldagen in de jaren binnen bereik (y1,y2).

5

kalender.maand(jaar,maand,w=2,l=1)

Retourneert een tekenreeks met meerdere regels met een kalender voor maand maand van jaar jaar, één regel per week plus twee kopregels. w is de breedte in tekens van elke datum; elke regel heeft lengte 7*w+6. l is het aantal regels voor elke week.

6

calendar.monthcalendar(jaar,maand)

Retourneert een lijst met lijsten met ints. Elke sublijst geeft een week aan. Dagen buiten maand maand van jaar jaar worden op 0 gezet; dagen binnen de maand worden ingesteld op hun dag van de maand, 1 en hoger.

7

kalender.maandbereik(jaar,maand)

Retourneert twee gehele getallen. De eerste is de code van de weekdag voor de eerste dag van de maand maand in jaar jaar; de tweede is het aantal dagen in de maand. Weekdagcodes zijn 0 (maandag) tot 6 (zondag); maandnummers zijn 1 tot 12.

8

kalender.prcal(jaar,w=2,l=1,c=6)

Zoals print calendar.calendar(year,w,l,c).

9

kalender.prmaand(jaar,maand,w=2,l=1)

Zoals kalender.maand(jaar,maand,w,l) afdrukken.

10

calendar.setfirstweekday(weekdag)

Stelt de eerste dag van elke week in op weekdagcode weekdag. Weekdagcodes zijn 0 (maandag) tot 6 (zondag).

11

calendar.timegm(tupletime)

De inverse van time.gmtime:accepteert een tijdsmoment in tijd-tupelvorm en retourneert hetzelfde moment als een drijvende-kommagetal seconden sinds het tijdperk.

12

calendar.weekday(jaar,maand,dag)

Retourneert de weekdagcode voor de opgegeven datum. Weekdagcodes zijn 0 (maandag) tot 6 (zondag); maandnummers zijn 1 (januari) tot 12 (december).

Andere modules en functies

Als je geïnteresseerd bent, vind je hier een lijst met andere belangrijke modules en functies om te spelen met datum en tijd in Python −

  • De datetime Module

  • De pytz Module

  • De dateutil Module


Python

  1. Python-gegevenstypen
  2. Python-operators
  3. Python pass-instructie
  4. Python-functieargumenten
  5. Python-woordenboek
  6. Python datetime
  7. Hoe de huidige datum en tijd in Python te krijgen?
  8. Python Krijgen huidige tijd
  9. Python-tijdmodule
  10. Python-slaap()
  11. Java - Datum en tijd