前言
datetime在python中的作用不可小视,它可以与string进行相互转化,比如
import datetime
# 将输出当前时间的'日/月/年'
datetime.datetime.now().strftime('%d/%m/%Y')
#将得到datetime.datetime(2020, 1, 1, 0, 0)对象
datetime.datetime.strptime('01/01/2020','%d/%m/%Y')
date
,datetime
,time
对象都支持strftime(format)
方法来得到在format格式控制下的一个代表时间的字符串,可以这样记忆,'stringfromtime'-->strftime;
相反的,datetime.strptime(date_string,format)
根据format从date_string创建出一个时间类的对象,可以这样记忆'stringproducetime'-->datetime;(没有time.strptime和date.strptime)
对于time对象,格式码的’年‘,’月‘,’日‘不应该使用,因为time对象没有这些值,如果它们被用了,1900则来指代’年‘,1来指代’月‘,和’日‘。
如
from datetime import time
t=time(12,30,30)
t.strftime('%Y/%m/%d/%H/%M/%S')
输出:
'1900/01/01/12/30/30'
对于date
对象,格式码的'小时','分钟,'秒,'微秒’不应该被使用,因为date
没有这些值,如果被用了,0就用来代替它们。
格式码
格式 | 含义 | 例子 |
---|---|---|
%Y | 带世纪的年 | 1991,1992,2000 |
%y | 不带世纪的年 | 91,92,00 |
%m | 带0的月 | 01,02,03,12 |
%B | 场所月全称 | January,February |
%b | 场所缩写月 | Jan,Feb,Dec |
%d | 带0的每月的几号 | 01,02..31 |
%w | 星期的数字编号,0是周天 | 0,1,2..6 |
%W | 年的星期数 | 00,01,53 |
%a | 场所缩写星期 | Sun,Mon,...Sat |
%A | 场所全称星期 | Sunday,Monday... |
%j | 带0的年的第几天 | 001,002,366 |
%H | 24小时的小时 | 00,01,23 |
%I | 12小时的小时 | 01,02,..12 |
%M | 分钟 | 00,40,59 |
%S | 秒 | 00,01,59 |
%f | 微秒 | 000000,999999 |
%p | 场地上午/下午,AM/PM | AM,PM |
%c | 场地合适的日期和时间表示 | Mon Jan 1 12:30:30 1900 |