一,时间
具体官方文档:https://docs.python.org/zh-cn/3/library/datetime.html
获取当前时间:
import datetime
now=datetime.datetime.now()
today = datetime.date.today()
print("当前年月日时分秒:", now)
print("只查看年月日:", today)
执行结果:
当前年月日时分秒: 2018-09-19 21:18:57.132640
只查看年月日: 2018-09-19
将时间截取自己想要的格式
我只想要小时 如:01,02,10,23
import datetime
#当前时间往前移一个小时
syscurrent_time=datetime.datetime.now()+datetime.timedelta(hours=-1)
#确保hour的值是两位数
hour="{:0>2d}".format(syscurrent_time)
下面是字符串截取相应长度,取自己想要的格式
import datetime
def CutHour(time=datetime.datetime.now()):
"""截取时分秒"""
new_time = str(time)
hour = new_time[11:19]
return "".join(hour)
print(CutHour())
执行结果:
21:33:25
如上代码new_time[11:19],字符串剪切:是12位开始到19结束
str转换为datetime
将字符串转成时间格式
import datetime
cday = datetime.datetime.strptime('2018-9-19 18:19:59', '%Y-%m-%d %H:%M:%S')
print(cday)
执行结果:
2018-09-19 18:19:59
时间戳
str类型的日期转换为时间戳
import time, datetime # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") print timeArray # timeArray可以调用tm_year等 print timeArray.tm_year # 2013 # 转为时间戳 timeStamp = int(time.mktime(timeArray)) print timeStamp # 1381419600 # 结果如下 time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1) 2013 1381419600
时间戳转换为指定格式的日期
# 使用time
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print(otherStyleTime) # 2013--10--10 23:40:00
# 使用datetime
timeStamp = 1381419600
dateArray = datetime.datetime.fromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime) # 2013--10--10 23:40:00
# 使用datetime,指定utc时间,相差8小时
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime) # 2013--10--10 15:40:00
时间的运算
start=datetime.datetime.strptime(startstr,"%Y--%m--%d %H:%M:%S.%f")
end=datetime.datetime.strptime(endstr,"%Y--%m--%d %H:%M:%S.%f")
spendtime=end-start
print(spendtime) # 0:00:00.000000