基础 - 时间处理 ¶
作者:KK
发表日期:2020.05.31
相关模块 ¶
datetime
和time
常用 ¶
输出时间字符串:
import datetime now = datetime.datetime.now() print( now.strftime('%Y-%m-%d %H:%M:%S') ) # 2020-02-14 11:21:39
秒数时间戳
import time micro_time = time.time() print( int(round(micro_time)) ) # 秒 print( int(round(micro_time * 1000)) ) # 毫秒 print( int(micro_time * 1000000) ) # 微秒
12小时后的时间:
import datetime new_time = datetime.datetime.now() + datetime.timedelta(hours = 12) print( new_time ) print( new_time.strftime('%H:%M:%S') )
strftime 的符号解析 ¶
就是指datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
这里的 strftime,下面是我认为平时各种场景下可能会用到符号解释:
%Y
带世纪的完整年份数字,如 2019。%y
不带世纪的年份数字,如 2019年 那就是19
。%G
也是个完整的年份数字,但它是按 ISO 8601 标准来定义的,可以通俗地理解为零时区的年份,一些跨国应用可能会用到。%m
带前导 0 的月份数字,如05
表示 5月。%d
带前导 0 的日数字,如03
表示 3号。%H
带前导 0 的24小时制的小时数字,如23
表示 晚上11点钟。%I
带前导 0 的12小时制的小时数字,如05
表示 5点钟。%M
带前导 0 的分钟数,如03
表示一小时里的 第3分钟。%S
带前导 0 的秒数,如03
表示一分钟里的 第3秒。%f
这个官方说是毫秒,可是输出的不止是3位数,却是6位数,我还没弄懂,欢迎知道的朋友能回复解释一下。%w
星期几的数字表示,从 0 到 6,0 表示 星期日。%u
星期几的数字表示,从 1 到 7,当然 7 表示 星期日。%a
星期几的完整书写,如 Sunday。%a
星期几的缩写,如今天星期天是Sun
(Sunday)。%B
月份的完整书写,如February
。%b
月份的缩写,如 2月 则是Feb
。%p
上午、下午的英文缩写表示:AM / PM,但这是本地化的,意味着在不同国家地区,输出的是不同的表示。%j
一年中的第几天,带前导0,如 030 表示一年中的 第30天,也就是 1月30号。%W
带前导0的第几周,并且从0开始数起的,如 03 表示一年中的第4周,这是把星期一当成一周的第一天来算的,新的一年里,第一个星期一之前的都算是 第0周。%U
带前导0的第几周,并且从0开始数起的,如 03 表示一年中的第4周,这是把星期日当成一周的第一天来算的,新的一年里,第一个星期日之前的都算是 第0周,其实这个我相信大家是几乎不会用到的,只是写出来与上面的 %W 作一个比较而已。%c
本地化的日期时间表示,比如中国这里输出的是Sun May 31 15:34:16 2020
表示2020年5月31日,星期天,15:34:16秒。