logo

Pythonin aikakaudesta päivämääräaikaan

Seuraavassa opetusohjelmassa ymmärrämme epochin muuntamisen DateTimeksi Python ohjelmointikieli käyttämällä joitain esimerkkejä. Käytämme Python epochia muuntaaksemme aikakauden päivämääräksi ja kelloksi. Käsittelemme myös seuraavia aiheita:

  1. Muunnetaan DateTime aikakauden ajaksi
  2. Muunnetaan aikakausi DateTime-merkkijonoksi
  3. Muunnetaan aikakausi DateTime millisekunteiksi
  4. Muunnetaan aikakausi DateTime-aikavyöhykkeeksi
  5. Unix-epochin muuntaminen DateTimeksi
  6. Muunnetaan DateTime aikakauden ajaksi millisekunteina
  7. Muunnetaan aikakauden aikaleima DateTimeksi
  8. Python epoch DateTime vuosi on alueen ulkopuolella

Mutta ennen kuin aloitamme, ymmärrämme lyhyesti Pythonin aikakauden aika.

Mikä on Pythonin aikakausi?

Epokkiaika, jota kutsutaan myös Unix-ajaksi tai POSIX-ajaksi, on kehys ajan seuraamiseen eri sekunteina, jotka ovat kuluneet Unix-kaudesta, joka on 12.00 UTC 1. tammikuuta 1970. Tätä viitekehystä käytetään laajalti kehyksien määrittelyssä ja ohjelmointimurteiden määrittelyssä. , mukaan lukien Python.

Pythonissa voimme työskennellä ikäajan kanssa käyttämällä aikamoduulia, joka antaa valmiudet hallita aikaan liittyviä arvoja. Yksi ikäajan hallinnan olennaisista ominaisuuksista on time.time(), joka palauttaa iästä kuluneen ajan sekunteina ajautumispistelukuna.

Epookkiajan muuntaminen DateTimeksi Pythonin avulla

Voimme käyttää Pythonia datetime.fromtimestamp() toiminto muuntaakseen aikakauden ajan DateTimeksi. Tarkastellaan seuraavaa esimerkkiä, joka osoittaa Python-epokin muuntamisen DateTimeksi.

Esimerkki:

 # Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 40246871 # Here, we are using the datetime.fromtimestamp() function date_time = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the value print('Given epoch time:', epoch_time) print('Converted Datetime:', date_time ) 

Lähtö:

 Given epoch time: 40246871 Converted Datetime: 1971-04-12 01:11:11 

Selitys:

Yllä olevassa esimerkissä datetime-moduuli tuodaan ottaen huomioon päivämäärän ja kellonajan arvojen ohjaus. Muuttuja epoch_time jaetaan sitten 40246871:n arvosta, mikä vastaa Unix-ajan (1. tammikuuta 1970, 00:00:00 UTC) jälkeen liukuneita sekunteja.

gimp vaihtaa väriä

Sisällön ydinhyöty on datetime.fromtimestamp()-ominaisuuden käytössä. Tämä ominaisuus vaatii jonkin verran investointia (epoch_time) ja muuttaa sen ymmärrettävämmäksi konfiguraatioksi tekemällä datetime-objektin. Seuraava datetime-objekti, joka osoittaa saman päivämäärän ja ajan, sijoitetaan muuttujaan date_time.

Jotta muutos olisi havaittavissa, sisältö sisältää kaksi print()-julistusta. Ensimmäinen, print('Given age time:', epoch_time), näyttää ensimmäisen ikäajan arvostuksen, kun taas seuraava print('Converted Datetime:', date_time) tuottaa muuttuneen päivämäärä-ajan arvon.

DateTime-ajan muuntaminen aikakauden ajaksi Pythonilla

Muuntaaksemme DateTimen aikakauden ajaksi käytämme aikaleima() toiminto. Tarkastellaan ensin seuraavaa esimerkkiä, joka havainnollistaa DateTime:n muuntamista aikakauden ajaksi.

Esimerkki:

 # Here, we are importing the datetime package import datetime # Here, we are using the timestamp() function to convert datetime into epoch time epoch_time = datetime.datetime(2021, 6, 9, 2, 0).timestamp() # Here, we are printing the values print('Converted epoch time:', epoch_time) 

Lähtö:

 Converted epoch time: 1623184200.0 

Selitys:

Yllä olevassa esimerkissä datetime-moduuli tuodaan päivämäärään ja aikaan liittyvien toimintojen käsittelemistä varten. Sisältö näyttää tietyn päivämäärän muutoksen iän aikaan käyttämällä timestamp()-ominaisuutta.

kuinka poistaa kehittäjätila käytöstä Androidissa

Vuorovaikutus alkaa tekemällä datetime-objekti, joka osoittaa 9.6.2021 kello 2:00 AM. Tämä datetime-objekti välitetään sitten kilpailijana timestamp()-ominaisuuden kanssa, joka palauttaa saman ikäajan (Unix-ajan jälkeen, 1. tammikuuta 1970, 00:00:00 UTC, lipsahtaneiden sekuntien määrä). Seuraava ikäaika jätetään muuttujaan epoch_time.

Sisältö päättyy print()-ilmoitukseen: print('Käännetty ikäaika:', epoch_time), joka antaa määritetyn ikäajan ennalta määritetylle päivämäärä-aikaan. Epookkiajan muuntaminen DateTime-merkkijonoksi Pythonin avulla Jotta epookkiaika voidaan muuntaa datetime-merkkijonoksi, meidän on muunnettava aikakauden aika datetimeksi ja välitettävä sitten tuloksena oleva datetime-muuttuja strftime()-funktiolle, jotta se muunnetaan onnistuneesti päivämäärä-aika-merkkijonoksi.

Esimerkki:

 # Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 700024 # Here, we are using datetime.fromtimestamp() function to convert epoch time into datetime object mytimestamp = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are using strftime() function to convert datetime_str = mytimestamp.strftime( '%Y - %m - %d %H : %M : %S') # Here, we are printing the values print('Given epoch time:', epoch_time) print('Converted datetime string:', datetime_str) 

Lähtö:

 Given epoch time: 700024 Converted datetime string: 1970 - 01 - 09 07 : 57 : 04 

Selitys:

Yllä olevassa esimerkissä olemme jälleen tuoneet treffiaika kirjasto. Olemme sitten käyttäneet datetime.fromtimestamp() toiminto muuntaaksesi tietyn aikakauden ajan päivämäärä-aikaan ja siirtää sen sitten strftime() funktio muuntaa datetime-objektin datetime-merkkijonoksi. The strftime() funktioparametrit ovat muotokoodeja, joissa halusimme mukauttaa merkkijonoa.

    %JAmäärittää vuoden%mmäärittää kuukauden%dmäärittää päivän%Hmäärittää tunnin%Mmäärittää minuutin%Sosoittaa sekuntia

Epookin ajan muuntaminen DateTime millisekunteiksi Pythonilla

Voimme saada DateTime ja millisekuntia aikakauden ajasta käyttämällä menetelmää, jonka teimme muuntaessamme aikakauden ajan DateTimeksi. Tarkastellaan seuraavaa esimerkkiä, joka osoittaa saman.

Esimerkki:

 # Here, we are importing the datetime package import datetime # Here, we are given epoch time epoch_time = 402471.238201 # Here, we are using the datetime.fromtimestamp() function date_time = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the value print('Given epoch time:', epoch_time) print('Converted Datetime:', date_time ) 

Lähtö:

 Given epoch time: 402471.238201 Converted Datetime: 1970-01-05 21:17:51.238201 

Selitys:

Yllä olevassa esimerkissä datetime-moduuli tuodaan käsittelemään päivämäärään ja kellonaikaan liittyviä toimintoja. Sisällön perusrooli on muuttua tietyn iän aikana, joka on 402471.238201 sekuntia, ymmärrettäväksi konfiguraatioksi, joka hyödyntää sekä datetime-objektia että järjestettyä merkkijonoa.

Sisältö palaa käyttämään datetime.fromtimestamp()-kykyä muuttaakseen iän myötä datetime-objektiksi. Seuraava datetime-objekti, joka on sijoitettu pois muuttujaan date_time, on esimerkki päivämäärän ja kellonajan vertailusta. Vihdoinkin sisältö tulostaa sekä ensimmäisen ikäajan että muuttuneen päivämääräajan objektin.

Nämä print()-julistukset tuottavat tuottoa, joka näyttää sekä karkean iän ajan että järjestetyn päivämäärä-ajan objektin, antaen kohtuullisen kuvan ensimmäisestä aikaleimasta ja sen ihmisille sopivasta samasta.

Epookkiajan muuntaminen DateTime-aikavyöhykkeeksi Pythonilla

Voimme käyttää aikavyöhyke() toiminto pytz paketti muuntaaksesi aikakauden ajan DateTime-aikavyöhykkeeksi. Tarkastellaan seuraavaa esimerkkiä, joka osoittaa saman muuntamisen.

Esimerkki:

 # Here, we are importing the required package(s) and module(s) from datetime import datetime import pytz # Here, we are using the timezone() function my_timezone = pytz.timezone('CST6CDT') # Here, we are using the localize() function date_timezone = my_timezone.localize( datetime( 2021, 6, 10, 9, 34, 32 ), is_dst = None ) # Here, we are printing the values print( 'DateTime Time zone:', date_timezone ) 

Lähtö:

 DateTime Time zone: 2021-06-10 09:34:32-05:00 

Selitys:

Yllä olevassa esimerkissä datetime-moduulia käytetään pytz-moduulin rinnalla työskentelemään päivämäärä- ja aikaobjektien kanssa tietyllä aika-alueella. Sisällön olennainen tavoite on tehdä datetime-objekti ja asettaa sen aikavyöhykkeen piste nimenomaisesti 'CST6CDT':ksi (Focal Standard Time with Sunlight Saving Time) ja tulostaa sitten seuraava päivämäärä ja aika.

Tällä tavalla pytz-moduulin timezone()-ominaisuutta hyödynnetään aika-alueobjektin tekemiseen, joka osoittaa 'CST6CDT'. Sitten aika-alueobjektin limit()-ominaisuutta käytetään määrittämään aikavyöhykkeen piste tietylle datetime-objektille (10. kesäkuuta 2021, 9:34:32).

Is_dst=Ei mitään -raja osoittaa, että valonsäästöajan (DST) dataa ei ole yksiselitteisesti annettu, mikä sallii rajoittaa()-kyvyn päättää sopivan kesäajan tilan ennalta määrätyn ajan perusteella. Vihdoinkin sisältö tulostaa seuraavan datetime-objektin nimenomaisesti määritetyllä aika-alueella.

Unix epoch -ajan muuntaminen DateTimeksi Pythonilla

Tämä Unixin aikakauden ajan muuntaminen DateTimeksi on samanlainen kuin mitä teimme aiemmin. Tämä prosessi sisältää datetime.fromtimestamp() funktio muuntaa Unix-epookkiajan DateTime-objektiksi ja käyttää strftime() toiminto muuttaa objektin sopivaan DateTime-muotoon.

maailman paras hymy

Tarkastellaan seuraavaa esimerkkiä, joka osoittaa saman.

Esimerkki:

 # Here, we are importing the datetime library import datetime # Here, we have defined a constant value for the epoch time epoch_time = 252384207 # Here, we are using the datetime.fromtimestamp() function datetime_obj = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are using the strftime() function datetime_str = datetime_obj.strftime( '%Y - %m - %d %H : %M : %S' ) # Here, we are printing the values print( 'Unix epoch time:', epoch_time ) print( 'DateTime:', datetime_str ) 

Lähtö:

 Unix epoch time: 252384207 DateTime: 1977 - 12 - 31 08 : 13 : 27 

Selitys:

Yllä olevassa esimerkissä datetime-moduulia käytetään muuttumaan tietyn iän aikana, joka on merkitty 252384207 sekuntia, ymmärrettävämmäksi organisaatioksi. Olennainen tavoite on tehdä ikäajasta datetime-objekti ja suunnitella se myöhemmin esitysjonoksi. Sisältö alkaa tuomalla päivämäärä-aika-moduuli. Datetime.fromtimestamp()-ominaisuutta käytetään sitten muuttumaan iän myötä datetime-objektiksi.

Seuraava datetime-objekti, joka on sijoitettu pois muuttujaan datetime_obj, kuvaa siihen liittyvät päivämäärän ja ajan vivahteet. Sitten strftime()-ominaisuutta käytetään suunnittelemaan datetime-objekti merkkijonoksi tietyn organisaation kanssa. Tässä tilanteessa ilmoitettu konfiguraatio on '%Y - %m - %d %H : %M : %S', joka koskee vuotta, kuukautta, päivää, tuntia, hetkeä ja sekuntia.

Vihdoinkin sisältö tulostaa sekä ensimmäisen Unix-ikäajan että järjestetyn päivämäärä-ajan merkkijonon. Nämä print()-julistukset luovat tuoton, joka näyttää sekä karkean ikäajan että järjestetyn päivämäärä-ajan merkkijonon, antaen erehtymättömän kuvan ensimmäisestä aikaleimasta ja sen ihmisille sopivasta samasta.

Muunnetaan DateTime aikakauden ajaksi millisekunteina Pythonilla

Muuntaaksemme aikakauden DateTime millisekunteiksi, voimme käyttää strptime() funktio palauttaa päivämäärä-aika-objektin määritetystä merkkijonosta ja käyttää aikaleima() toiminto muuntaa kohteen sekunneiksi. Lisäksi meidän on kerrottava tuloksena oleva arvo tuhannella tuottaaksemme aikakauden DateTime millisekunneissa.

Tarkastellaanpa esimerkkiä, joka osoittaa saman.

sähkön edut

Esimerkki:

 # Here, we are importing the datetime module from datetime import datetime # Here, we are using the strptime() function dt_obj = datetime.strptime( '10-6-2021 10:33:35,72', '%d-%m-%Y %H:%M:%S,%f') epoch_msec = dt_obj.timestamp() * 1000 print('epoch time in milliseconds:', epoch_msec) 

Lähtö:

 epoch time in milliseconds: 1623301415720.0 

Selitys:

Yllä olevassa esimerkissä datetime-moduulia käytetään muuttamaan suunniteltua merkkijonoa, joka osoittaa tiettyä päivämäärää ja aikaa, iän aika-arvoksi, joka on arvioitu millisekunteina. Jakso alkaa strptime()-ominaisuuden hyödyntämisellä, joka jäsentää tietojonon '10-6-2021 10:33:35,72' annetun mallin '%d-%m-%Y %H' valossa: %M:%S,%f'. Tämä kokoonpano ilmaisee tietojonon päivän, kuukauden, vuoden, tunnin, hetken, sekunnin ja mikrosekunnin osia.

Seuraava datetime-objekti, joka on sijoitettu pois muuttujaan dt_obj, esittelee jäsennetyt päivämäärä- ja aikatiedot. Tällä tavalla sisältö määrittää iän ajan käyttämällä datetime-objektin timestamp()-strategiaa, joka käsittelee Unix-ajasta (1. tammikuuta 1970, 00:00:00 UTC) kuluneiden sekuntien määrää. Nostamalla tämän arvoa 1000 uskovalla millisekuntiin, mikä antaa tarkemman kuvan ajasta.

Vihdoinkin sisältö tulostaa määritetyn ikäajan millisekunteina hyödyntäen print()-artikulaatiota.

Epochin aikaleiman muuntaminen DateTimeksi Pythonilla

Voimme käyttää datetime.fromtimestamp() toiminto muuntaa aikakauden aikaleiman DateTimeksi. Tässä on esimerkki alla:

ensimmäinen kannettava tietokone

Esimerkki:

 # Here, we are importing the datetime module import datetime # Here, we have defined a constant value for epoch timestamp epoch_time = 33456871 # Here, we are using the datetime.fromtimestamp() function the_datetime = datetime.datetime.fromtimestamp( epoch_time ) # Here, we are printing the values print( 'epoch timestamp:', epoch_time ) print( 'DateTime:', the_datetime ) 

Lähtö:

 epoch timestamp: 33456871 DateTime: 1971-01-23 11:04:31 

Selitys:

Yllä olevassa esimerkissä datetime-moduulia käytetään muuttamaan tietyn iän aikaleiman (33456871 sekuntia) aikana järkevämpään ja ymmärrettävämpään kokoonpanoon. Sisältö alkaa tuomalla päivämäärä-aika-moduuli, joka antaa pääsyn erilaisiin toimintoihin päivämäärien ja kellonaikojen kanssa työskentelemiseen.

Ikäaikaleima, joka ilmaisee Unix-ajan (1. tammikuuta 1970, 00:00:00 UTC) jälkeen avautuneiden sekuntien määrän, on varattu sisällön sisällä olevalle muuttujalle epoch_time. Siten datetime.fromtimestamp()-ominaisuutta käytetään muuttamaan tämän iän aikaleiman aikana datetime-objektiksi, jonka nimi on the_datetime.

Sisältö sulkeutuu tulostamalla sekä ensimmäinen ikä-aikaleima että järjestetty päivämäärä-aikaobjekti print()-artikulaatioita hyödyntäen.

Pythonin epoch datetime -virheiden ymmärtäminen

Työskennellessämme Python-ohjelmointikielellä epoch datetime -asetuksen kanssa saatamme kohdata virheen, jonka mukaan Python-epoch datetime -vuosi on alueen ulkopuolella tai Python-argumentti on virheellinen.

Tarkastellaanpa esimerkkiä ongelman ymmärtämiseksi.

Esimerkki:

 # Here, we are importing the datetime module import datetime # Here, we are using the timestamp() function epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp() # Here, we are printing the values print( epoch_time ) 

Lähtö:

 Traceback (most recent call last): File 'D:Pythonepochpython.py', line 5, in epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp() OSError: [Errno 22] Invalid argument 

Selitys:

Yllä olevassa esimerkissä datetime-moduulia käytetään muuttamaan tietyn päivämäärän aikana, tässä tilanteessa, '1960-06-10 00:00:00', ikäaikaan käyttämällä timestamp()-ominaisuutta. Sisältö alkaa tuomalla sisään datetime-moduuli, joka antaa pääsyn päivämäärä- ja aikatehtäviin liittyviin toimintoihin.

Sisällön keskeinen hyödyllisyys piilee timestamp()-ominaisuuden käytössä, jota sovelletaan datetime-objektiin, jonka osoite on 10. kesäkuuta 1960 klo 12.00. Tämä ominaisuus toimii ja palauttaa ikäajan. Se vastaa sekuntien määrää, joka on kulunut Unix-iästä (1. tammikuuta 1970, 00:00:00 UTC) ennalta määrättyyn päivämäärä-aikaan.

Tulos tulostetaan sitten käyttämällä print()-julistusta, jolloin saadaan tulos, joka voi näyttää olevan '- 306691200.0'.