
python上如何把时间分割
用户关注问题
如何用Python提取时间字符串中的小时、分钟和秒?
我有一个时间字符串,比如'14:35:20',想用Python把小时、分钟和秒分别提取出来,该怎么做?
使用字符串分割或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
怎样把Python中的时间对象拆分成独立的年、月、日、时、分、秒?
针对datetime对象,怎么分别获得年、月、日、小时、分钟和秒的数值?
访问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)
Python处理时间字符串时如何根据不同格式分割时间?
如果时间格式不是统一的,比如有'14-35-20'或'14|35|20'这样的格式,如何灵活分割时间?
使用正则表达式匹配各种时间分隔符实现时间拆分
可以利用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']
这样就能兼容多种分隔格式。