代码改变世界

datetime处理日期和时间

2017-10-01 12:26  082何晓琳  阅读(1507)  评论(0编辑  收藏  举报

1.datetime.now() # 获取当前datetime
  datetime.utcnow()

>>> datetime.now()
datetime.datetime(2017, 9, 30, 11, 20, 40, 535026)
>>> datetime.utcnow()
datetime.datetime(2017, 9, 30, 3, 20, 51, 546427)
>>> 

2.datetime(2017, 5, 23, 12, 20) # 用指定日期时间创建datetime

>>> dt=datetime(2017, 5, 23, 12, 20)
>>> print(dt)

3.将以下字符串转换成datetime类型:

'2017/9/30'
'2017年9月30日星期六'
'2017年9月30日星期六8时42分24秒'
'9/30/2017'
'9/30/2017 8:42:50 '

from datetime import datetime
print(datetime.strptime('2017/9/30','%Y/%m/%d'))
print(datetime.strptime('2017年9月30日星期六','%Y年%m月%d日星期六'))
print(datetime.strptime('2017年9月30日星期六8时42分24秒','%Y年%m月%d日星期六%H时%M分%S秒'))
print(datetime.strptime('9/30/2017','%m/%d/%Y'))
print(datetime.strptime('9/30/2017 8:42:50','%m/%d/%Y %H:%M:%S'))

4.将以下datetime类型转换成字符串:

2017年9月28日星期4,10时3分43秒
Saturday, September 30, 2017
9/30/2017 9:22:17 AM
September 30, 2017

from datetime import datetime
dt=datetime(2017,10,1,10,3,43)
a=dt.strftime('%Y年%m月%d日%A,%H时%M分%S秒')
print(a)
b=dt.strftime('%A,%B %d,%Y')
print(b)
c=dt.strftime('%m/%d/%Y %I:%M:%S%p')
print(c)
d=dt.strftime('%B %d,%Y')
print(d)

5.用系统时间输出以下字符串:

今天是2017年9月30日
今天是这周的第?天 
今天是今年的第?天 
今周是今年的第?周 
今天是当月的第?天

 

from datetime import datetime
now=datetime(2017,9,30)

print(now.strftime('今天是%Y年%m月%d日'))

print(now.strftime('今天是这周的第%w天'))

print(now.strftime('今天是今年的第%j天'))

print(now.strftime('今周是今年的第%W周'))

print(now.strftime('今天是当月的第%d天'))