标准库datetime
datetime模块:
对 日期、时间、时间戳的处理
datetime类方法:
today():返回本地时区的datetime对象
now(tz = None):返回当前时间的datetime对象,时间到微妙,如果timezone为None返回和today一样
utcnow():没有时区的当前时间
fromtimestamp(timestamp,tz=None)从一个时间戳返回一个datetime对象
datetime对象:
timestamp()返回一个到微妙的时间戳。时间戳,格林威治时间从1997年1月1号0点0分0秒到现在的秒数
构造方法:datetime.datetime(2020, 4, 6, 14, 24, 29, 782776)
year、month、day、hour、minute、second、microsecond,取datetime对象的年月日时分秒及微秒
weekday():返回星期的天,0~6
isoweekday():返回星期天,1~7
date():返回日期date对象
time():返回时间的time对象
replace():修改并返回新的时间
isocalendar():返回一个三元组(年、周数、周的天)
importdatetime
d1=datetime.datetime.today()
d2=datetime.datetime.now()
d3= datetime.datetime.utcnow() #utc时区
datetime.datetime.now().timestamp()#datetime对象的时间戳
d4= datetime.datetime.fromtimestamp(1586163018.609562)
d5 = datetime.datetime(2020, 4, 6, 16, 50, 18, 609562)
d5.weekday()#返回周几,0~6
d5.isoweekday() #返回周几iso国际标准 1~7
d5.date() 等价于datetime.datetime.now().date()
d5.replace(year=2019,month=8)
日期格式化
importdatetime
d3= datetime.datetime.strptime('04/06/2020 14:38:20','%m/%d/%Y %H:%M:%S')
d3.strftime("%Y/%m/%d %H:%M:%S")"{:%Y/%m/%d %H:%M:%S}".format(d3)
timedelta对象
datetime2 =datetime1 + timedelta
datetime2 = datetime1 - timedelta
timedelta = datetime 1 - datetime2
计算墙上时间:
start = datetime.datetime.now()
delta = (datetime.datetime.now - start).total_seconds()
d4 = datetime.datetime.now()
d6 = datetime.timedelta(1)
d5- d6 #时间差量可进行加减
d6= datetime.timedelta(days=365,seconds=20) #默认不写赋值则为1天,hour=1 ,weeks = 1 表示差值为365天
d5-d6
d5+d6
d5+ d4 #错误表达式,时间不能进行加减,
importdatetime
t=datetime.datetime.today()print(t)
t=datetime.datetime.now()print(t)
t=datetime.datetime.now().date()print(t)
t=datetime.datetime.now().weekday()print(t)
t=datetime.datetime.now().isoweekday()print(t)#时区
t = datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=0))) #写了时区hours=0则等价于utcnow()
print(t)
t=datetime.datetime.utcnow()print(t)
t= datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=8)))print(t)
t=datetime.datetime.utcnow()print(t)
t= datetime.datetime.now().timestamp() #类的对象方法返回当前的时间戳
print(t)
t= datetime.datetime.fromtimestamp(1586165622.466427) #将时间戳转换成日期
print(t)
t = datetime.datetime.now()#datetime 对象
print(t.timestamp(), type(t.timestamp()))print('年', t.year, type(t.year))print('月', t.month)print(t.weekday()) #返回本周的第几天,周一为0
print(t.isoweekday())#周一为 1
print(t.date())print(t.time())print(t.isocalendar())#也可以直接写成
t =datetime.datetime.now().yearprint(t)
t=datetime.datetime.now().date()print(t)
#构造一个时间对象
print(datetime.datetime(2020, 4, 6, 16, 50, 18, 609562)) #2020-04-06 16:50:18.609562
#类方法:
t = datetime.datetime.strptime('04/06/2020 14:38:20','%m/%d/%Y %H:%M:%S')print(t) #2020-04-06 14:38:20
#对象方法:
t =datetime.datetime.now()print(t)
timestr= t.strftime('%Y-%m-%d %H-%M-%S')print(timestr)print(type(timestr))#timedelta对象
t = datetime.timedelta(days=20,seconds=60)print(t)