datetime库 日期与时间
datetime是一个关于时间的库,主要包含的类有:
date 日期对象,常用的属性有year,month,day
time 时间对象,hour,minute,second,毫秒
datetime 日期时间对象,常用的属性有hour,minute,second,microsecond
timedelta 时间间隔,即两个时间点之间的长度
日期(date):
import datetime date = datetime.date(2018, 8, 23) print(date) --> 2018-8-23
时间(time):
import datetime time = datetime.time() print(time) --> 00:00:00 # 默认值为00 import datetime time = datetime.time(18, 55, 35) print(time) --> 18:55:35 import datetime time = datetime.time(18, 55, 35, 2000) print(time) --> 18:55:35.002000
日期时间(datetime):
import datetime datetime = datetime.datetime(2018, 8, 23, 18, 59, 55) print(datetime) --> 2018-08-23 18:59:55
时间间隔(datedelta):
import datetime dlt = datetime.timedelta(hours=5) print(dlt) --> 5:00:00 默认值: days=0, # 天 seconds=0, # 秒 microseconds=0, # 微秒 milliseconds=0, # 毫秒 minutes=0, # 分钟 hours=0, # 小时 weeks=0 # 周
时间增减
import datetime
# pip install python-dateutil from dateutil.relativedelta import relativedelta if __name__ == "__main__": print(datetime.date.today() - relativedelta(months=+1))
now(返回当前系统时间):
import datetime now = datetime.datetime.now() print(now) --> 2018-08-23 19:10:26.886975
格林威治时间:
表示从1970年1月1日00:00:00 开始至今的时间间隔
import datetime utc = datetime.datetime.utcnow() print(utc) --> 2018-08-23 11:24:26.799106
东八区时间(北京时间):
# 现获取格林威治(本初子午线时间)的当前时间 import datetime utc = datetime.datetime.utcnow() # 8小时时差 dtl = datetime.timedelta(hours=8) now = utc + dtl print(now) --> 2018-08-23 19:38:01.218821
解析时间(strptime):按一定的格式输出时间(字符串时间转化为datetime格式)
import datetime strp = datetime.datetime.strptime('Aug-23-18 19:51', '%b-%d-%y %H:%M') print(strp) --> 2018-08-23 19:51:00
当前时间
import datetime
now = datetime.datetime.now()
strf = now.strftime('%Y-%m-%d %H:%M:%S')
print(strf)
可在电脑设置里面查看时间格式
格式化时间(strftime):完全自定义时间格式(将时间格式、转化为自定字符串格式)
import datetime now = datetime.datetime.now() strf = now.strftime('%d-%m-%Y %H:%M:%S') print(strf) --> 23-08-2018 20:21:24 时间格式怎么改都行
关于时间格式的汇总:
fromtimestamp(t)
将时间戳转换成易读的日期时间
t:时间戳浮点数
import time import datetime # 获取当前时间的时间戳 t = time.time() # 1535275338.445392 # 将时间戳转换成易读格式的时间 time = datetime.datetime.fromtimestamp(t) print(time) --> 2018-08-26 17:22:18.445392
timestamp(t)
将日期时间转换成时间戳浮点数
t:日期时间格式(易读的时间格式)
import datetime t = datetime.datetime.now() print(t) time = datetime.datetime.timestamp(t) print(time) --> 2018-08-26 17:33:26.657776 1535276006.657776