Python 里的时间对比查了一下午 有点晕, 详细的写下求教大佬们

2018-03-16 17:43:40 +08:00
 jakeyfly

now_time = datetime.datetime.now().time() 输出 datetime.time(17, 39, 19, 998928) 怎么才能不要 后面这个 998928

用 now_time = datetime.datetime.now().strptime("%H:%M:%S") 结果应该变成字符串了 不是时间类型了

然后我想设定一个时间 t = '2018,2,17,01,30,00' tt = datetime.datetime.strptime(t, "%Y,%m,%d,%H,%M,%S") t.time() 输出 datetime.time(1, 30)

上面的当前时间是 str 跟这个时间做对比出错 提示是类型不一样 然后如何才能获取当前时间的 小时 分 秒 跟 这个设定的时间做对比大小呢

2069 次点击
所在节点    问与答
13 条回复
CloudnuY
2018-03-16 17:48:07 +08:00
分别把%H %M %S 存在三个变量里再比较,多方便………………
CloudnuY
2018-03-16 17:49:33 +08:00


这样也能拿到时分秒
jakeyfly
2018-03-16 17:53:57 +08:00
@CloudnuY 我是比较是不是在一个时间之后啊比如 早上十点之后
CloudnuY
2018-03-16 17:54:49 +08:00
jakeyfly
2018-03-16 17:57:12 +08:00
@CloudnuY 还有一个场景是要比较完整时间的 所以 还是想弄个不带最后那个时区数据的 datetime 对像
zjb861107
2018-03-16 18:00:58 +08:00
datetime 可以直接比较大小
Anybfans
2018-03-16 18:03:55 +08:00
同楼上 直接把 2 个时间都转化成 datetime 类型的(相同时区)。然后直接比较大小就行了
jakeyfly
2018-03-16 18:08:30 +08:00
@zjb861107 大佬 这个我知道啊 我现在碰到的问题是, 当前时间 datetime.now() 带时区 转换的字符串时间不知道怎么带时区,就是最后面那一串数字。。。。现在要么 now()把时区去掉,要么转换字符串时间的时候带上时区 两种我都不会 求教一种~~~~~~~
@Anybfans
CloudnuY
2018-03-16 18:20:32 +08:00
后面那一串数字是 microsecond 微秒吧
jakeyfly
2018-03-16 18:26:28 +08:00
@CloudnuY 啊~~~~~那我坑了~~~~我搞错了
jakeyfly
2018-03-16 18:26:45 +08:00
@CloudnuY 他马文档中说是时区 我日了~~~~~
laoyur
2018-03-16 19:08:15 +08:00
>>> now = datetime.datetime.now().time()
>>> now
datetime.time(19, 6, 48, 654624)
>>> now.replace(microsecond=0)
datetime.time(19, 6, 48)
jakeyfly
2018-03-16 20:57:40 +08:00
@laoyur 大佬 666

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/438720

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX