python上如何把时间分割

python上如何把时间分割

作者:Elara发布时间:2026-01-07阅读时长:0 分钟阅读次数:13

用户关注问题

Q
如何用Python提取时间字符串中的小时、分钟和秒?

我有一个时间字符串,比如'14:35:20',想用Python把小时、分钟和秒分别提取出来,该怎么做?

A

使用字符串分割或datetime模块提取时间部分

可以通过字符串的split(':')方法将时间字符串分割成小时、分钟和秒三个部分,或者使用datetime模块解析时间字符串后直接访问对应属性。示例代码:

# 字符串分割方法
time_str = '14:35:20'
h, m, s = time_str.split(':')
print(h, m, s)  # 输出:14 35 20

# 使用datetime模块
default
from datetime import datetime
time_obj = datetime.strptime(time_str, '%H:%M:%S')
print(time_obj.hour, time_obj.minute, time_obj.second)  # 输出:14 35 20
Q
怎样把Python中的时间对象拆分成独立的年、月、日、时、分、秒?

针对datetime对象,怎么分别获得年、月、日、小时、分钟和秒的数值?

A

访问datetime对象的各个属性获取时间组成部分

datetime对象提供了直接访问年、月、日、小时、分钟和秒的属性,可以直接使用,如下所示:

from datetime import datetime
now = datetime.now()
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
print(year, month, day, hour, minute, second)
Q
Python处理时间字符串时如何根据不同格式分割时间?

如果时间格式不是统一的,比如有'14-35-20'或'14|35|20'这样的格式,如何灵活分割时间?

A

使用正则表达式匹配各种时间分隔符实现时间拆分

可以利用Python中的re模块,用正则表达式对时间字符串进行分割,不局限于特定符号。例如:

import re

time_str1 = '14-35-20'
time_str2 = '14|35|20'
tokens1 = re.split('[-|:]', time_str1)
tokens2 = re.split('[-|:]', time_str2)
print(tokens1)  # 输出:['14', '35', '20']
print(tokens2)  # 输出:['14', '35', '20']

这样就能兼容多种分隔格式。