Puisque la conversion de unixtime ← → datetime est assez gênante, j'ai créé une classe qui peut être facilement convertie.
L'heure unix définit 0 seconde le 1er janvier 1970 à minuit et indique le nombre de secondes qui se sont écoulées depuis, tandis que la date / heure est exprimée en UTC (World Standard Time), ce qui est familier à l'œil humain. Par exemple, le 24 septembre 2015, 23:00 est "1441303200" en unixtime et "201509242300" en datetime.
Vous pouvez convertir ~~ unixtime en type datetime en utilisant le module datetime, mais je ne trouve pas comment convertir datetime en type string, alors je l'ai écrit. ~~ Il semble que cela puisse être fait en utilisant strftime. J'ai donc décidé de positionner cette classe pour faciliter la conversion.
convertTime.py
import datetime
import time
class convertTime:
def __init__(self,time):
self.time = time
def dtime(self):
date_time = datetime.datetime.fromtimestamp(self.time)
date_time = date_time.strftime('%Y%m%d%H%M%S')
return date_time
def utime(self):
self.time = str(self.time)
assert len(self.time) == 14,"Argument must be 14 character"
date_time = datetime.datetime(int(self.time[0:4]),int(self.time[4:6]),int(self.time[6:8]),int(self.time[8:10]),int(self.time[10:12]),int(self.time[12:14]))
return int(time.mktime(date_time.timetuple()))
if __name__ == "__main__":
d = convertTime(time = 1443103200)
print "-----------datetime(dtime) to unixtime(utime)----------"
print d.dtime()
u = convertTime(time = 20150924230000)
print "-----------unixtime(utime) to datetime(dtime)----------"
print u.utime()
Résultat d'exécution
-----------datetime(dtime) to unixtime(utime)----------
201509242300
-----------unixtime(utime) to datetime(dtime)----------
1443103200
Lancez l'heure que vous souhaitez convertir dans la classe convertTime et convertissez-la avec la méthode .utime ou .dtime. Si j'ai du temps dans le futur, j'aimerais ajouter une fonction qui facilite l'ajout et la soustraction avec datetime.
Référence python2.7 datetime
Recommended Posts