我正在从字符串中解析datetime对象,在这种情况下,我遇到了一个问题,即我必须将datetime对象和time对象相加才能创建组合的时间戳。
我知道有一个datetime.combine方法,但不幸的是在这种情况下我不能使用它
例如,有两个字符串,一个包含格式化的日期时间,另一个包含格式化的时间,如下所示
dt_str = "2018/11/27 14:12:32"
tm_str = "1:23:45.678" # 1 hour 23 minutes 11 seconds and 750 micro seconds发布于 2018-11-27 13:30:06
dt_str = "2018/11/27 14:12:32"
tm_str = "1:23:45.678"首先,我们需要从python的标准库导入,即datetime、time和timedelta.
import datetime, time
from datetime import timedelta然后,我们将dt_str解析为datetime对象,将tm_str解析为time对象
dt = datetime.datetime.strptime(dt_str, "%Y/%m/%d %H:%M:%S")
tm = time.strptime(tm_str, "%H:%M:%S.%f")现在,我们将使用timedelta类将小时、分钟和秒从time对象添加到datetime对象中
timestamp = dt + timedelta(hours=tm.tm_hour) + \
timedelta(minutes=tm.tm_min) + timedelta(seconds=tm.tm_sec)结果
print("dt:", dt)
print("tm:", tm)
print("timestamp: ", timestamp)注意:你不能加微秒值,至少我不知道方法。如果有人知道以上操作的更好方法,请将您的解决方案放在下面
dt: 2018-11-27 14:12:32
tm: time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=1, tm_min=23, tm_sec=45, tm_wday=0, tm_yday=1, tm_isdst=-1)
timestamp: 2018-11-27 15:36:17https://stackoverflow.com/questions/53493289
复制相似问题