欢迎关注「issnail」
“一起学习,一起成长!“
【连续“Python系统:日期和时间1”】
3. 读写日期和时间
3.1 strftime()的格式化字符串
可以使用strftime()把日期和时间转换成字符串。这个方法在datetime,date,time对象中都有,在time模块中也有。strftime()使用格式化字符串来指定输出。
格式化字符串 日期/时间单元 范围
%Y 年 1900-..
%m 月 01-12
%B 月名 January
%b 月名缩写 Jan,...
%d 日 01-31
%A 星期 Sunday
%a 星期缩写 Sun,...
%H 时(24小时制) 00-23
%I 时(12小时制) 01-12
%p 上午/下午 AM,PM
%M 分 00-59
%S 秒 00-59
数字都是左侧补零。
3.2time模块中的strftime()函数:把struct_time对象转换成字符串
strftime()函数:
把struct_time对象转换成字符串。
import time
fmt="It's %A,%B %d,%Y,local time %I:%M:%S%p"
t=time.localtime()
t
Out[31]: time.struct_time(tm_year=2018, tm_mon=7, tm_mday=1, tm_hour=12, tm_min=26, tm_sec=33, tm_wday=6, tm_yday=182, tm_isdst=0)
time.strftime(fmt,t)
Out[32]: "It's Sunday,July 01,2018,local time 12:26:33PM"
3.3 date对象的strftime()函数:只能获取日期部分,时间默认是午夜
date对象的strftime()函数:只能获取日期部分,时间默认是午夜。
from datetime import date
some_day=date(2014,7,4)
fmt="It's %B %d,%Y,local time %I:%M:%S%p"
some_day.strftime(fmt)
Out[37]: "It's July 04,2014,local time 12:00:00AM"
3.4time对象只会转换时间部分
from datetime import time
some_time=time(10,35)
some_time.strftime(fmt)
Out[40]: "It's January 01,1900,local time 10:35:00AM"
如果要把字符串转换成日期或者时间,可以对同样的格式化字符串使用strptime()函数。这里不能使用正则表达式,字符串的非格式化部分(没有%的部分)必须完全匹配。
import time
fmt="%Y-%m-%d"
time.strptime("2012 01 29