python:将日期时间戳转换为epoch unix时间并计算剩余天数?

时间:2014-10-01 01:25:52

标签: python

我想将2014-08-14 20:01:28.242转换为unix时间戳245293529385并将其减去当前时间戳,以便计算过去的天数并最终通过从14减去此值来保留。 / p>

场景:用户注册,我想倒计时试用的剩余天数。

2 个答案:

答案 0 :(得分:3)

time.strptime救援!使用格式字符串%Y-%m-%d %H:%M:%S.%f。例如:

   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)

现在将其转换为日期时间(来自:How do you convert a Python time.struct_time object into a datetime object?):

   from datetime import datetime
   dt = datetime.fromtimestamp(timestamp)

答案 1 :(得分:1)

分为两部分:

Convert input time string into datetime object

#!/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')

Convert datetime object to Unix time ("seconds since epoch")

结果取决于输入时间使用的时区,例如,如果输入是UTC,则相应的POSIX时间戳为:

timestamp = (dt - datetime(1970,1,1)).total_seconds()
# -> 1408046488.242

如果您的输入位于本地时区,请参阅How do I convert local time to UTC in Python?