首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从字符串解析datetime和time,以及如何在Python中添加这些解析的datetime和time值

如何从字符串解析datetime和time,以及如何在Python中添加这些解析的datetime和time值
EN

Stack Overflow用户
提问于 2018-11-27 13:30:06
回答 1查看 26关注 0票数 0

我正在从字符串中解析datetime对象,在这种情况下,我遇到了一个问题,即我必须将datetime对象和time对象相加才能创建组合的时间戳。

我知道有一个datetime.combine方法,但不幸的是在这种情况下我不能使用它

例如,有两个字符串,一个包含格式化的日期时间,另一个包含格式化的时间,如下所示

代码语言:javascript
运行
复制
dt_str = "2018/11/27 14:12:32"
tm_str = "1:23:45.678" # 1 hour 23 minutes 11 seconds and 750 micro seconds
EN

回答 1

Stack Overflow用户

发布于 2018-11-27 13:30:06

代码语言:javascript
运行
复制
dt_str = "2018/11/27 14:12:32"
tm_str = "1:23:45.678"

首先,我们需要从python的标准库导入,即datetime、time和timedelta.

代码语言:javascript
运行
复制
import datetime, time
from datetime import timedelta

然后,我们将dt_str解析为datetime对象,将tm_str解析为time对象

代码语言:javascript
运行
复制
dt = datetime.datetime.strptime(dt_str, "%Y/%m/%d %H:%M:%S")
tm = time.strptime(tm_str, "%H:%M:%S.%f")

现在,我们将使用timedelta类将小时、分钟和秒从time对象添加到datetime对象中

代码语言:javascript
运行
复制
timestamp = dt + timedelta(hours=tm.tm_hour) + \
timedelta(minutes=tm.tm_min) + timedelta(seconds=tm.tm_sec)

结果

代码语言:javascript
运行
复制
print("dt:", dt)
print("tm:", tm)
print("timestamp: ", timestamp)

注意:你不能加微秒值,至少我不知道方法。如果有人知道以上操作的更好方法,请将您的解决方案放在下面

代码语言:javascript
运行
复制
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:17
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53493289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档