Python学习:python time模块之time.strptime()

time.strptime(string[, format])定义

time.strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。

如果 string*不能根据 *format 解析,或者解析后它有多余的数据,则引发 ValueError 。
当无法推断出更准确的值时,用于填充任何缺失数据的默认值是 (1900, 1, 1, 0, 0, 0, 0, 1, -1) 。 string 和 format 都必须是字符串。

time.strptime()和time.strftime()的区别

time.strftime(format[, t]),传入 format和t两个参数,分别是格式化字符串,struct_time,返回的是字符串,具体的用法见链接
time.strptime(string[, format]),传入string和format两个参数,分别是字符串和格式化字符串,返回的是struct_time

本文中举9个例子,分别对应strftime文章中的例子,参数1string是strftime函数的返回值,参数2format是strftime函数的参数,返回的struct_time和strftime函数传入的并不一样,是因为无法从传入的string和format推断出更准确的值,就用默认值(1900, 1, 1, 0, 0, 0, 0, 1, -1)。

python实例

代码块

注意,第6例和第7例,和strftime文章中稍有区别,把参数中重复的格式化字符串%Y和时间2020去掉了,未取掉之前在报错,在网上未找到解释的文档。后续补充原因

报错:
re.error: redefinition of group name 'Y' as group 5; was group 1 at position 190
import time

print(time.strptime("1. 2020-12-10 10:45:00","1. %Y-%m-%d %H:%M:%S"))
print(time.strptime("2. 2020-12-10 is Thursday","2. %Y-%m-%d is %A"))
print(time.strptime("3. 十二小时制时间是:2020-12-10 10:45:00AM","3. 十二小时制时间是:%Y-%m-%d %H:%M:%S%p"))
print(time.strptime("4. 现在是: 中国标准时间 Thu Dec 10 10:45:00 2020","4. 现在是: %Z %c"))
print(time.strptime("5. 现在是: 中国标准时间 Thu Dec 10 10:45:00AM","5. 现在是: %Z %a %b %d %I:%M:%S%p"))
# 6. 2020-12-10是December,这是2020一年的第345天
print(time.strptime("6. 2020-12-10是December,这是一年的第345天","6. %Y-%m-%d是%B,这是一年的第%j天"))
print(time.strptime("7. 2020-12-06是Sunday,这是一年的第49周","7. %Y-%m-%d是%A,这是一年的第%U周"))
print(time.strptime("8. 12/06/20是Sunday,这是2020一年的第48周","8. %x是%A,这是%Y一年的第%W周"))
print(time.strptime("9. 现在是:中国标准时间 10:45:00AM","9. 现在是:%Z %X%p"))

输出结果

time.struct_time(tm_year=2020, tm_mon=12, tm_mday=10, tm_hour=10, 	tm_min=45, tm_sec=0, tm_wday=3, tm_yday=345, tm_isdst=-1)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=345, tm_isdst=-1)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=10, tm_hour=10, tm_min=45, tm_sec=0, tm_wday=3, tm_yday=345, tm_isdst=-1)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=10, tm_hour=10, tm_min=45, tm_sec=0, tm_wday=3, tm_yday=345, tm_isdst=0)
time.struct_time(tm_year=1900, tm_mon=12, tm_mday=10, tm_hour=10, tm_min=45, tm_sec=0, tm_wday=3, tm_yday=344, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=345, tm_isdst=-1)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=6, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=341, tm_isdst=-1)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=6, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=341, tm_isdst=-1)
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=10, tm_min=45, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=0)

猜你喜欢

转载自blog.csdn.net/sinat_37960022/article/details/110952636