Python时间模块(datetime)

标准库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():返回一个三元组(年、周数、周的天)

import  datetime

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)

 

日期格式化

import datetime
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 #错误表达式,时间不能进行加减,

import  datetime

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))) #写了时区则等价于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().year
print(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)

猜你喜欢

转载自www.cnblogs.com/alrenn/p/12642247.html