吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1355|回复: 11
收起左侧

[求助] python获得现有时间对象的小时数

[复制链接]
cqwcns 发表于 2020-12-12 12:52
刚刚开始学python,被一个低级的问题卡住了,如下,t1是个时间日期,格式是2020-12-12 10:54:26的,我希望获得它的小时数,即10,代码要怎么写?谢谢

[Python] 纯文本查看 复制代码
    t1 = sheetClosedLoop['归档时间'][100]
    print(t1) #2020-12-12 10:54:26
    t2 = time.strftime("H", t1) # 报错TypeError: Tuple or struct_time argument required
    print(t2)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
细水流长 发表于 2020-12-12 12:56
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| cqwcns 发表于 2020-12-12 13:36
细水流长 发表于 2020-12-12 12:56
[mw_shl_code=python,true]from datetime import datetime
a = datetime.now().strftime('%Y-%m-%d %H.%M. ...

我不是要当前时间,我是要现有的时间变量。
我尝试这样,但也是报错的。
b = t2.strftime('%H')
 楼主| cqwcns 发表于 2020-12-12 13:45
我发现好像这样可以,但为什么输出的小时数是18,而不是10

[Python] 纯文本查看 复制代码
    t1 = sheetClosedLoop['归档时间'][5]
    print(t1) #2020-12-12 10:21:48
    t2 = time.localtime(t1.timestamp())
    print (t2)  # time.struct_time(tm_year=2020, tm_mon=12, tm_mday=12, tm_hour=18, tm_min=21, tm_sec=48, tm_wday=5, tm_yday=347, tm_isdst=0)
cyhlnj 发表于 2020-12-12 13:49
[Python] 纯文本查看 复制代码
import time

s = "2020-12-12 10:54:26"
res = time.strptime(s, "%Y-%m-%d %H:%M:%S")
print(res.tm_hour)
rsnodame 发表于 2020-12-12 13:53
本帖最后由 rsnodame 于 2020-12-12 13:55 编辑

cqwcns 发表于 2020-12-12 13:45
我发现好像这样可以,但为什么输出的小时数是18,而不是10

楼主可以仔细翻一下time库或者datetime库的文档。建议用datetime库,和pandas一致
[Python] 纯文本查看 复制代码
import datetime
t1 = '2020-12-12 10:21:48'
dt = datetime.datetime.strptime(t1,'%Y-%m-%d %H:%M:%S')
# dt == datetime.datetime(2020, 12, 12, 10, 21, 48)
dt.hour
# dt.hour == 10
xiaoshan1818 发表于 2020-12-12 14:18
本帖最后由 xiaoshan1818 于 2020-12-12 14:21 编辑

自学这个Python难不难啊,英语读书时候都是不及格的人,也没学过任何计算机语言。。能学的了不?
完蛋了,好像发问问错地方了,求版主原谅,帮我删删掉,谢谢。
thepoy 发表于 2020-12-12 14:31
xiaoshan1818 发表于 2020-12-12 14:18
自学这个Python难不难啊,英语读书时候都是不及格的人,也没学过任何计算机语言。。能学的了不?
完蛋了, ...

可以学,编程不需要很好的英文水平,但想玩高级编程,就需要较高的英文能力
thepoy 发表于 2020-12-12 14:36
[Python] 纯文本查看 复制代码
from datetime import datetime

time_str = '2020-12-12 10:54:26'
t =  datetime.strptime(a, '%Y-%m-%d %H:%M:%S')
print(t)
# datetime.datetime(2020, 12, 12, 10, 54, 26)
print(t.hour)
# 10
fortytwo 发表于 2020-12-12 15:17
[Python] 纯文本查看 复制代码
import re

s = "2020-12-12 10:54:26"

print(str(re.findall(" .*?:", s)[0]).replace(" ", "").replace(":", ""))

正则不太会用,不过这样也可以实现,但是写的麻烦。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 08:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表