web-dev-qa-db-fra.com

Comment créer une date / heure dans Python à partir de millisecondes?

Je peux créer un objet Date similaire dans Java par Java.util.Date (millisecondes) . Comment créer le produit comparable en Python?

Alloue un objet Date et l'initialise pour qu'il représente le nombre de millisecondes spécifié depuis l'heure de base standard appelée "l'époque", à savoir le 1er janvier 1970 à 00:00:00 GMT.

102
Joshua

Il suffit de le convertir en horodatage

datetime.datetime.fromtimestamp(ms/1000.0)
161
vartec

Et ça? Je suppose que l’on peut compter sur lui pour traiter les dates antérieures à 1970 et après 2038.

target_date_time_ms = 200000 # or whatever
base_datetime = datetime.datetime( 1970, 1, 1 )
delta = datetime.timedelta( 0, 0, 0, target_date_time_ms )
target_date = base_datetime + delta

comme mentionné dans le Python lib standard:

fromtimestamp () peut générer ValueError si l'horodatage est en dehors de la plage de valeurs prise en charge par les fonctions localtime () ou gmtime () de la plate-forme. Il est courant que cela soit limité aux années 1970-2038.

9
mike rodent

Peu lourd à cause de l'utilisation de pandas mais fonctionne:

import pandas as pd
pd.to_datetime(msec_from_Java, unit='ms').to_pydatetime()
1
mde