Python 提供了一个time 和 calendar模块可以用于格式化日期和时间。
time.time()
返回当前时间戳。时间戳表示自从1970年1月1日午夜(历元)至此时经历的时间,是以秒为单位的浮点小数。
时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
time.localtime([时间戳浮点数])
时间戳转化为时间元组。返回时间元组(struct_time元组)。
参数可以为空,直接返回当前时间的时间元组形式。
索引 | 字段表示 | 值域 |
---|---|---|
0 | tm_year 4位数年 | 1970 至 2038 |
1 | tm_mon 月 | 1 到 12 |
2 | tm_mday 日 | 1 到 31 |
3 | tm_hour 小时 | 0 到 23 |
4 | tm_min 分钟 | 0 到 59 |
5 | tm_sec 秒 | 0 到 61 (60或61 是闰秒) |
6 | tm_wday 一周的第几日 | 0 到 6 (0是周一) |
7 | tm_yday 一年的第几日 | 1 到 366 (儒略历) |
8 | tm_isdst 夏令时 | -1, 0, 1, -1是决定是否为夏令时的旗帜 |
time.asctime([时间元组])
将时间格式化为可读模式。参数要求:Tuple or struct_time argument required
参数可以为空,直接返回当前时间的可读形式。
返回值类型为<class 'str'>
星期缩写 月份缩写 日数字 时:分:秒 年数字
'Mon Dec 14 11:38:24 2020'
格式化时间:time.strftime(格式形式,[时间元组])
第一个参数要求:strftime() takes at least 1 argument
第二个参数要求:Tuple or struct_time argument required
第二个参数可省,则返回当前时间的格式化形式。
返回值类型为<class 'str'>
time.strftime("%Y-%m-%d %H:%M:%S")
'2020-12-14 11:54:53'
time.strftime("%a %b %d %H:%M:%S %Y",)
'Mon Dec 14 11:56:37 2020'
python中日期时间格式化符号:
符号 | 解释 | 取值范围 |
---|---|---|
%y | 两位数的年份表示 | 00-99 |
%Y | 四位数的年份表示 | 000-9999 |
%m | 月份 | 01-12 |
%d | 月内一天 | 0-31 |
%H | 24小时制小时数 | 0-23 |
%I | 12小时制小时数 | 01-12 |
%M | 分钟数 | 00-59 |
%S | 秒 | 00-59 |
%a | 本地简化星期名称 | 1:Mon、2:Tue、3: Wed、4:Thu、5:Fri、6:Sat、7:Sun |
%A | 本地完整星期名称 | 有空补充完整 |
%b | 本地简化的月份名称 | 有空补充完整 |
%B | 本地完整的月份名称 | 有空补充完整 |
%c | 本地相应的日期表示和时间表示 | |
%j | 年内的一天 | 001-366 |
%p | 本地A.M.或P.M.的等价符 | |
%U | 一年中的星期数,星期天为星期的开始 | 00-53 |
%w | 星期,星期天为星期的开始 | 0-6 |
%W | 一年中的星期数,星期一为星期的开始 | 00-53 |
%x | 本地相应的日期表示 | |
%X | 本地相应的时间表示 | |
%Z | 当前时区的名称 | |
%% | %号本身 |
某月日历
calendar.month(年数字, 月数字)
Calendar模块用来处理年历和月历,例如打印某月的月历:
import calendar
print(calendar.month(2020,10))