前言
Python3的日期和时间学习笔记
引入依赖
创建对象
当前日期和时间
无时区
1
| dt = datetime.datetime.today()
|
1
| dt = datetime.datetime.now()
|
有时区
1
| dt = datetime.datetime.now([<timezone>])
|
UTC
1
| dt = datetime.datetime.utcnow()
|
任意时间和日期
1
| dt = datetime.datetime(2006, 1, 2)
|
1
| dt = datetime.datetime(2006, 1, 2, 15)
|
1
| dt = datetime.datetime(2006, 1, 2, 15, 4)
|
1
| dt = datetime.datetime(2006, 1, 2, 15, 4, 5)
|
1
| dt = datetime.datetime(2006, 1, 2, 15, 4, 5, 700)
|
1 2 3 4
| data = datetime.date(2006, 1, 2) time = datetime.time(15, 4, 5, 700)
dt = datetime.datetime.combine(data, time)
|
仅日期
1
| data = datetime.date(2006, 1, 2)
|
仅时间
1
| time = datetime.time(15, 4, 5, 0)
|
当前时间戳
1
| ts = datetime.datetime.now().timestamp()
|
获取年月日时分秒微秒时区
1 2 3 4 5 6 7 8
| dt.year dt.month dt.day dt.hour dt.minute dt.second dt.microsecond dt.tzinfo
|
获取日期
获取时间
无时区
有时区
获取日期和时间元祖
无时区
有时区
UTC
增减年月日时分秒毫秒微秒
1 2 3 4 5 6 7 8
| dt = dt + datetime.timedelta(year=1) dt = dt + datetime.timedelta(month=1) dt = dt + datetime.timedelta(days=1) dt = dt + datetime.timedelta(hours=1) dt = dt + datetime.timedelta(minutes=1) dt = dt + datetime.timedelta(seconds=1) dt = dt + datetime.timedelta(milliseconds=1) dt = dt + datetime.timedelta(microseconds=1)
|
1 2 3 4 5 6 7 8
| dt = dt - datetime.timedelta(year=1) dt = dt - datetime.timedelta(month=1) dt = dt - datetime.timedelta(days=1) dt = dt - datetime.timedelta(hours=1) dt = dt - datetime.timedelta(minutes=1) dt = dt - datetime.timedelta(seconds=1) dt = dt - datetime.timedelta(milliseconds=1) dt = dt - datetime.timedelta(microseconds=1)
|
比较日期和时间
1 2 3 4 5 6 7 8
| dt1 = datetime.datetime.now() dt2 = datetime.datetime.now()
dt1 < dt2 dt1 > dt2 dt1 >= dt2 dt1 <= dt2 dt1 == dt2
|
日期和时间与时间戳互转
日期和时间转换为时间戳
时间戳转换为日期和时间
<timestamp>:时间戳
1
| dt = datetime.datetime.fromtimestamp(<timestamp>)
|
指定时区
<timezone>:时区
1 2
| ts = datetime.datetime.now().timestamp() dt = datetime.datetime.fromtimestamp(ts, <timezone>)
|
UTC
1 2
| ts = datetime.datetime.now().timestamp() dt = datetime.datetime.utcfromtimestamp(ts)
|
格式化日期和时间
| 占位符 |
备注 |
| %y |
年(00~99) |
| %Y |
年(0000~9999) |
| %m |
月(01~12) |
| %d |
天(0~1) |
| %H |
时(0~23) |
| %M |
分(00~59) |
| %S |
秒(00~59) |
| %a |
本地的简化星期名 |
| %A |
本地的完整星期名 |
| %b |
本地的简化月份名 |
| %B |
本地的完整月份名 |
| %p |
本地的A.M.、P.M.等价符 |
日期和时间转换为字符串
1
| str = dt.strftime("%Y-%m-%d %H:%M:%S")
|
字符串转换为日期和时间
1
| dt = datetime.datetime.strptime("2016-01-02 15:04:05", "%Y-%m-%d %H:%M:%S")
|
完成
参考文献
菜鸟笔记
CSDN——洛城-sola
CSDN——Asher117
PHP中文网——藏色散人