python: convert date timestamp to epoch unix time and figure out number of days remaining?
我想把
场景:用户注册后,我想倒数他们试用期的剩余天数。
时间。快去营救!使用格式字符串
1 2 3 4 | import time t = '2014-08-14 20:01:28.242' ts = time.strptime(t, '%Y-%m-%d %H:%M:%S.%f') timestamp = time.mktime(ts) |
现在要将其转换为日期时间(从:如何将python time.struct_time对象转换为日期时间对象?):
1 2 | from datetime import datetime dt = datetime.fromtimestamp(timestamp) |
有两部分:
将输入时间字符串转换为日期时间对象1 2 3 4 | #!/usr/bin/env python from datetime import datetime dt = datetime.strptime('2014-08-14 20:01:28.242', '%Y-%m-%d %H:%M:%S.%f') |
将datetime对象转换为unix时间("从epoch开始的秒数")。
结果取决于输入时间使用的时区,例如,如果输入是UTC格式,则相应的POSIX时间戳为:
1 2 | timestamp = (dt - datetime(1970,1,1)).total_seconds() # -> 1408046488.242 |
如果您的输入是在本地时区,那么看看如何用python将本地时间转换为UTC?