1、函数介绍
strptime()
是将传进来的字符串时间(第一个参数)按照指定格式(第二个参数)转换成datetime类型;字符串–>datetime
strftime()
将传进来的datetime时间(第一个参数)按照指定格式(第二个参数)转换成字符串类型;datetime–>字符串
2、datetime.timedelta对象
timedalte 是datetime中的一个对象,该对象表示两个时间的差值
构造函数:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
其中参数都是可选,默认值为0
- timedelta.total_seconds()方法:返回该时间差 以
秒
为单位的值
3、用例
(1)把字符串转换成datetime对象
from datetime import datetime #引入datetime模块
time= datetime.strptime('2018-4-19 11:19:59','%Y-%m-%d %H:%M:%S') #把字符串转换成时间
print(type(time))
# <class 'datetime.datetime'>
(2)把datetime对象转化为字符串
#把日期转换成字符串
import datetime #引入datetime模块
str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') #获取当前时间并转化成字符串
print(str) #输出字符串信息
# 2021-07-10 16:28:44
(3)两个datetime对象的时间差值 – datetime.timedelta 对象
# -*- coding: UTF-8 -*-
# 时间diff
import datetime #引入datetime模块
import time
if __name__ == '__main__':
star_time = datetime.datetime.now()
time.sleep(1)
end_time = datetime.datetime.now()
diff = end_time - star_time # diff为datetime.timedelta对象
days = diff.days
print('days : %s' % days)
seconds = diff.seconds
print('seconds : %s' % seconds)
microseconds = diff.microseconds
print('microseconds : %s' % microseconds)
打印:
days : 0
seconds : 1
microseconds : 5117
(4)计算当前时间
向后10小时的时间
import datetime
d1 = datetime.datetime.now()
print(d1.strftime('%Y-%m-%d %H:%M:%S'))
d2 = d1 + datetime.timedelta(hours=10)
print(d2.strftime('%Y-%m-%d %H:%M:%S'))
打印:
2021-07-10 16:57:18
2021-07-11 02:57:18
(5)datetime将datetime对象转换成时间字符串和时间戳
from datetime import datetime
# datetime对象转换成时间字符串
datetime_str = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
print(datetime_str)
# datetime对象转换成时间戳
datetime_stamp = datetime.timestamp(datetime.now())
print(datetime_stamp)
打印:
2021-07-10 17:06:45
1625908005.921093
(6)datetime将时间戳转换成时间字符串
# 时间戳转datetime对象,再转时间字符串
datetime_stamp2 = 1625908005.921093
datetime_str2 = datetime.strftime(datetime.fromtimestamp(datetime_stamp2), '%Y-%m-%d %H:%M:%S')
print(datetime_str2)
打印:
2021-07-10 17:06:45