logo

Epocha Pythonu do Datetime

V následujícím tutoriálu pochopíme převod epochy na DateTime v Programovací jazyk Python pomocí některých příkladů. Epochu v Pythonu použijeme k převodu epochy na datum a čas. Budeme se věnovat také následujícím tématům:

  1. Převod DateTime na čas epochy
  2. Převod epochy na řetězec DateTime
  3. Převod epochy na milisekundy DateTime
  4. Převod epochy na časové pásmo DateTime
  5. Převod Unixové epochy na DateTime
  6. Převod DateTime na čas epochy v milisekundách
  7. Převod časového razítka epochy na DateTime
  8. Python epoch DateTime year je mimo rozsah

Ale než začneme, pojďme stručně pochopit čas epochy v Pythonu.

Co je čas epochy v Pythonu?

Čas epochy, také nazývaný čas Unix nebo čas POSIX, je rámec pro sledování času jako různých sekund, které uplynuly od doby Unixu, což je 12:00 UTC dne 1. ledna 1970. Tento rámec je široce používán při určování rámců a programovacích dialektů. , včetně Pythonu.

V Pythonu můžeme pracovat s časem s věkem pomocí časového modulu, který poskytuje možnosti řízení hodnot souvisejících s časem. Jednou ze základních funkcí pro správu věkového času je time.time(), která vrací probíhající čas v sekundách od věku jako číslo driftujícího bodu.

Převod času epochy na DateTime pomocí Pythonu

Můžeme použít Python datetime.fromtimestamp() za účelem převodu času epochy na datum a čas. Uvažujme následující příklad demonstrující převod epochy Pythonu na DateTime.

Příklad:

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

Výstup:

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

Vysvětlení:

Ve výše uvedeném příkladu je importován modul datetime s přihlédnutím k řízení hodnot data a času. Proměnná epoch_time je pak rozdělena na konkrétní hodnotu 40246871, která řeší pokles o sekundy od doby Unixu (1. ledna 1970, 00:00:00 UTC).

Hlavní užitečnost obsahu spočívá v použití schopnosti datetime.fromtimestamp(). Tato schopnost vyžaduje určitou investici (epoch_time) a mění ji na srozumitelnější konfiguraci vytvořením objektu datetime. Následující objekt datetime adresující stejné datum a čas je odložen do proměnné date_time.

Aby byla změna vnímatelná, obsah zahrnuje dvě proklamace print(). První, print('Given age time:', epoch_time), ukazuje první hodnotu věku a času, zatímco následující, print('Converted Datetime:', date_time), poskytuje hodnotu změněnou přes datetime.

Převod DateTime na čas epochy pomocí Pythonu

Abychom převedli DateTime na čas epochy, použijeme časové razítko() funkce. Nejprve se podívejme na následující příklad ilustrující převod DateTime na čas epochy.

c# slovník

Příklad:

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

Výstup:

 Converted epoch time: 1623184200.0 

Vysvětlení:

Ve výše uvedeném příkladu je importován modul datetime pro zpracování činností souvisejících s datem a časem. Obsah ukazuje změnu určitého data a času na věkový čas pomocí funkce timestamp().

Interakce začíná vytvořením objektu datetime s adresou 9. června 2021 ve 2:00. Tento objekt datetime je pak předán jako spor s funkcí timestamp(), která vrací stejný věkový čas (množství sekund, které uplynulo od doby Unixu, 1. ledna 1970, 00:00:00 UTC). Následný věkový čas je uložen v proměnné epoch_time.

Obsah končí proklamací print(): print('Converted age time:', epoch_time), která poskytuje určený věkový čas pro předdefinovaný datetime. Převod času epochy na řetězec DateTime pomocí Pythonu Abychom převedli čas epochy na řetězec datetime, musíme převést čas epochy na řetězec datetime a poté předat výslednou proměnnou datetime funkci strftime(), aby se úspěšně převedla na řetězec datetime.

Příklad:

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

Výstup:

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

Vysvětlení:

Ve výše uvedeném příkladu jsme opět importovali čas schůzky knihovna. Poté jsme použili datetime.fromtimestamp() funkce, aby se daná epocha čas převedla na datum a čas a pak ji předal strftime() funkce pro převod objektu datetime na řetězec datetime. The strftime() parametry funkcí jsou kódy formátu, ve kterých jsme chtěli upravit řetězec.

    %Aoznačuje rok% moznačuje měsíc%durčuje den%Hurčuje hodinu%Moznačuje minutu%Soznačuje sekundy

Převod času epochy na milisekundy DateTime pomocí Pythonu

Můžeme získat DateTime spolu s milisekundami z času epochy pomocí metody, kterou jsme provedli pro převod času epochy na DateTime. Uvažujme následující příklad demonstrující totéž.

Příklad:

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

Výstup:

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

Vysvětlení:

Ve výše uvedeném příkladu je importován modul datetime, aby pracoval se zpracováním činností souvisejících s datem a časem. Základní úlohou obsahu je změnit se za daný věkový čas, určený jako 402471,238201 sekund, do srozumitelné konfigurace využívající jak objekt datetime, tak organizovaný řetězec.

Obsah se vrátí k využití schopnosti datetime.fromtimestamp() ke změně v průběhu času na objekt datetime. Následující objekt datetime, odložený v proměnné date_time, je příkladem jemností porovnávání data a času. Nakonec obsah vytiskne jak první věkový čas, tak objekt změněný přes datetime.

Tyto proklamace print() poskytují výtěžnost zobrazující jak hrubý věkový čas, tak organizovaný objekt datetime, poskytující rozumné zobrazení prvního časového razítka a jeho přizpůsobení člověku.

převod int na dvojitou javu

Převod času epochy na časové pásmo DateTime pomocí Pythonu

Můžeme použít časové pásmo() funkce pytz za účelem převodu času epochy na časové pásmo DateTime. Uvažujme následující příklad demonstrující konverzi téhož.

Příklad:

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

Výstup:

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

Vysvětlení:

Ve výše uvedeném příkladu je modul datetime použit společně s modulem pytz pro práci s objekty data a času v určité časové oblasti. Základním cílem obsahu je vytvořit objekt datetime a výslovně uvést jeho bod v časovém pásmu na „CST6CDT“ (Focal Standard Time with Sunlight Saving Time), poté v tomto okamžiku vytisknout následující datum a čas.

Tímto způsobem je využita schopnost timezone() z pytz modulu k vytvoření objektu časové oblasti s adresou 'CST6CDT'. Poté se použije schopnost omezit() z objektu časové oblasti k určení bodu v časové zóně pro konkrétní objekt datetime (10. června 2021, 9:34:32)

Hranice is_dst=None ukazuje, že údaje o čase pro úsporu světla (DST) nejsou jednoznačně dány, což dovoluje funkcistrict() rozhodnout o vhodném stavu DST s ohledem na předem určený čas. Nakonec obsah vytiskne následující objekt datetime s výslovně nastavenou časovou oblastí.

Převod času unixové epochy na DateTime pomocí Pythonu

Tento proces převodu času unixové epochy na DateTime je podobný tomu, co jsme dělali dříve. Tento proces zahrnuje datetime.fromtimestamp() funkce pro převod času Unixové epochy na objekt DateTime a používá strftime() funkci transformovat objekt do vhodného formátu DateTime.

Uvažujme následující příklad demonstrující totéž.

Příklad:

img css zarovnat
 # 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 ) 

Výstup:

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

Vysvětlení:

Ve výše uvedeném příkladu se modul datetime používá ke změně za daný věkový čas, označený jako 252384207 sekund, na srozumitelnější organizaci. Základním cílem je vytvořit objekt datetime z doby stáří a následně jej navrhnout jako řetězec pro ukázku. Obsah začíná uvedením modulu datetime. Schopnost datetime.fromtimestamp() se pak používá ke změně času stáří na objekt datetime.

Následný objekt datetime, uložený v proměnné datetime_obj, představuje související detaily data a času. Poté je funkce strftime() využita k návrhu objektu datetime jako řetězce s konkrétní organizací. Pro tuto situaci je indikována konfigurace '%Y - %m - %d %H : %M : %S' s uvedením roku, měsíce, dne, hodiny, okamžiku a sekundy.

Nakonec obsah vytiskne jak první Unixový věkový čas, tak uspořádaný datetime řetězec. Tyto proklamace print() vytvářejí výtěžek zobrazující jak hrubý věkový čas, tak uspořádaný řetězec datetime, poskytující nezaměnitelný obraz prvního časového razítka a jeho přizpůsobení se člověku.

Převod DateTime na čas epochy v milisekundách pomocí Pythonu

Abychom převedli epochu DateTime na milisekundy, můžeme použít strptime() funkci k vrácení objektu datetime ze zadaného řetězce a použití časové razítko() funkce pro převod objektu na sekundy. Navíc potřebujeme vynásobit výslednou hodnotu tisíci, abychom získali epochu DateTime v milisekundách.

Podívejme se na příklad demonstrující totéž.

Příklad:

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

Výstup:

 epoch time in milliseconds: 1623301415720.0 

Vysvětlení:

Ve výše uvedeném příkladu je modul datetime využit ke změně navrženého řetězce adresujícího konkrétní datum a čas na hodnotu věku a času odhadovanou v milisekundách. Cyklus začíná využitím schopnosti strptime(), která analyzuje informační řetězec '10-6-2021 10:33:35,72' ve světle daného návrhu '%d-%m-%Y %H: %M:%S,%f'. Tato konfigurace označuje den, měsíc, rok, hodinu, okamžik, sekundu a mikrosekundu části informačního řetězce.

Následující objekt datetime, umístěný v proměnné dt_obj, ztělesňuje analyzovaná data a času. Tímto způsobem obsah zjišťuje věkový čas pomocí strategie timestamp() pro objekt datetime a řeší množství sekund, které uplynuly od doby Unixu (1. ledna 1970, 00:00:00 UTC). Zvýšení této hodnoty o 1000 věřících na milisekundy, což poskytuje podrobnější zobrazení času.

Nakonec obsah vytiskne určenou dobu stáří v milisekundách pomocí artikulace print().

Převod časového razítka epochy na DateTime pomocí Pythonu

Můžeme použít datetime.fromtimestamp() funkce pro převod časového razítka epochy na datum a čas. Níže je uveden příklad:

Příklad:

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

Výstup:

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

Vysvětlení:

Ve výše uvedeném příkladu je modul datetime použit ke změně daného časového razítka stáří, adresovaného jako 33456871 sekund, na rozumnější a srozumitelnější konfiguraci. Obsah začíná uvedením modulu datetime, který umožňuje přístup k různým funkcím pro práci s daty a časy.

Časové razítko stáří, které naznačuje množství sekund, které se rozvinulo od doby Unixu (1. ledna 1970, 00:00:00 UTC), je přiděleno proměnné epoch_time uvnitř obsahu. Schopnost datetime.fromtimestamp() se tedy používá ke změně tohoto časového razítka stáří na objekt datetime s názvem the_datetime.

Obsah se uzavírá vytištěním prvního časového razítka stáří a organizovaného objektu datetime využívajícího artikulace print().

Pochopení chyb souvisejících s epoch datetime v Pythonu

Při práci s epochou datetime v programovacím jazyce Python se můžeme setkat s chybou, že Python epoch datetime year is out of range nebo Python Invalid Argument.

panel nástrojů pro rychlý přístup aplikace word

Podívejme se na příklad, abychom problém pochopili.

Příklad:

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

Výstup:

 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 

Vysvětlení:

Ve výše uvedeném příkladu je modul datetime použit ke změně přes konkrétní datum a čas, pro tuto situaci, '1960-06-10 00:00:00', na věkový čas s využitím schopnosti timestamp(). Obsah začíná uvedením modulu datetime, který umožňuje přístup k funkcím spojeným s úlohami data a času.

Hlavní užitečnost obsahu spočívá v použití schopnosti timestamp(), která je aplikována na datetime objekt adresovaný 10. červnu 1960 ve 12 hodin. Tato schopnost funguje a vrací věkový čas, řešící množství sekund uplynulých od stáří Unixu (1. ledna 1970, 00:00:00 UTC) do předem určeného data a času.

Výsledek se poté vytiskne pomocí proklamace print() a vytvoří se výsledek, který se může zdát „- 306691200.0“.