如何将日期和时间字符串转换为 POSIX 时间?

How to convert date and time string to POSIX time?

我有两个字符串:

date = '2017-05-09'
time = '19:28'

如何将其转换为 posix 时间?

您可能需要使用 datetime 库。此外,请记住下面介绍的两种方法 预计当地时间

>>> date = '2017-05-09'
>>> time_ = '19:28'


对于 python 的 2.7.+ 版本(也可能是较低版本),您首先必须将字符串转换为日期时间对象

>>> import datetime as dt
>>> date_object = dt.datetime.strptime('{d} {t}'.format(d=date, t=time_), 
                                       "%Y-%m-%d %H:%M")
>>> date_object
datetime.datetime(2017, 5, 9, 19, 28)

请注意,我将您的变量 time 更改为 time_,以免之后产生名称冲突。使用 date_object

很容易获得 posix 时间
>>> import time
>>> time.mktime(date_object.timetuple())
1494350880.0 #Given my local time !


3.+版本的python,比上面的

还要直接
>>> import datetime as dt
>>> dt.datetime.strptime('{d} {t}'.format(d=date, t=time_), 
                         '%Y-%m-%d %H:%M').timestamp()
1494350880.0 #Given my local time !

您可以进行如下处理:

将字符串日期和时间转换为 datetime.datetime 实例。 将此实例转换为 posix 时间:

import datetime
import time

my_date = '2017-05-09'
my_time = '19:28'

dt = datetime.datetime.strptime(my_date + " " + my_time, "%Y-%m-%d %H:%M")
posix_dt = time.mktime(dt.timetuple())