文章目录
Python 常用时间处理模块之 time
获取时间
import time
print(time.time())
1662379162.6859071 # 从1970年1月1日0时0分0秒到当前时间点的所有秒数。
看不明白?说人话! → \rightarrow → 格式转换
转换为格式化结构体时间对象
time.gmtime() # 返回值是当前格林尼治时间对象
time.localtime() # 返回值是当地时间(也就是北京时间,比格林尼治时间+8小时)对象
以上两个函数的参数只有一个,为浮点数格式的时间戳,默认参数为当前的时间戳。
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=5, tm_hour=12, tm_min=4, tm_sec=24, tm_wday=0, tm_yday=248, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=5, tm_hour=20, tm_min=5, tm_sec=59, tm_wday=0, tm_yday=248, tm_isdst=0)
tm_year=2022,表示当前是2020年
tm_mon=9,表示当前是9月
tm_mday=5,表示当前是5日
tm_hour=12,表示当前是12时(注意是格林尼治时间,加8小时才是北京时间)
tm_min=4,表示当前是4分
tm_sec=24,表示当前是24秒
tm_wday=0,表示当前是一周的第0天(周日是0,周一是1,周六是6)
tm_yday=248,表示当前是一年的第284天
tm_isdst=0,表示不是夏令时(=1表示是夏令时)
还是过于抽象,继续转为可读性强的字符串
# 把格式化结构体时间转换成格式化字符串时间
print(time.strftime('%Y年%m月%d日%H时%M分%S秒'))
print(time.strftime('%Y年%m月%d日%H时%M分%S秒', time.gmtime(0)))
2022年09月05日20时18分39秒
1970年01月01日00时00分00秒
参数有两个,分别为
格式化字符串fmt
和格式化结构体时间
,具体的格式符号请参考附录
。
此处也可直接使用asctime()
,因为asctime()
的缺省值为localtime()
返回的当前时间。
亦可使用 ctime()
, ctime()
等价于 asctime(localtime())
。
可读性强,但是计算麻烦,转回去!(格式化字符串时间
转格式化结构体时间
or时间戳
)
把时间字符串转换成格式化结构体时间
print(time.strptime('2022年09月05日20时18分39秒', '%Y年%m月%d日%H时%M分%S秒'))
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=5, tm_hour=20, tm_min=18, tm_sec=39, tm_wday=0, tm_yday=248, tm_isdst=-1)
参数有两个,分别为和
格式化结构体时间
和格式化字符串fmt
,与strftime
恰恰相反。
格式化结构体时间转换为时间戳
time.mktime(time.gmtime(0))
1662352340.0
附录
重要函数
函数 | 描述 |
---|---|
time() | 将时间元组转换为字符串 |
asctime([t]) | 将时间元组转换为字符串 |
mktime(t) | 将时间元组转换为当地时间 |
ctime([secs]) | 将秒转换为字符串 |
sleep(secs) | 休眠secs秒 |
localtime([secs]) | 将秒转换为当地时间的时间元组 |
strftime(format[, t]) | 将字符串转换为时间元组 |
gmtime([secs]) | 将秒转换为UTC时间的时间元组 |
格式化符号
格式化符号 | 含意 |
---|---|
%a | 本地化的缩写星期中每日的名称。 |
%A | 本地化的星期中每日的完整名称。 |
%b | 本地化的月缩写名称。 |
%B | 本地化的月完整名称。 |
%c | 本地化的适当日期和时间表示。 |
%d | 十进制数 [01,31] 表示的月中日。 |
%H | 十进制数 [00,23] 表示的小时(24小时制)。 |
%I | 十进制数 [01,12] 表示的小时(12小时制)。 |
%j | 十进制数 [001,366] 表示的年中日。 |
%m | 十进制数 [01,12] 表示的月。 |
%M | 十进制数 [00,59] 表示的分钟。 |
%p | 本地化的 AM 或 PM 。 |
%S | 十进制数 [00,61] 表示的秒。 |
%U | 十进制数 [00,53] 表示的一年中的周数(星期日作为一周的第一天)。 在第一个星期日之前的新年中的所有日子都被认为是在第 0 周。 |
%w | 十进制数 [0(星期日),6] 表示的周中日。 |
%W | 十进制数 [00,53] 表示的一年中的周数(星期一作为一周的第一天)。 在第一个星期一之前的新年中的所有日子被认为是在第 0 周。 |
%x | 本地化的适当日期表示。 |
%X | 本地化的适当时间表示。 |
%y | 十进制数 [00,99] 表示的没有世纪的年份。 |
%Y | 十进制数表示的带世纪的年份。 |
%z | 十进制带符号数[-1200,+1200]表示时区。 |
%Z | 时区名称。 |
%% | 字面的 ‘%’ 字符。 |
参考
官方文档:https://docs.python.org/zh-cn/3/library/time.html
相似文章:https://blog.csdn.net/manchan4869/article/details/123024071