datetime模块j python 处理时间和日期的标准库
date 日期对象,常用的属性有year, month , day
time 时间对象hour, minute, second, 毫秒
datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
timedelta 时间间隔, 即两个时间点之间的长度
格式字符串常用格式:
%Y/%y 年
%m 月
%d 日
%H 时
%M 分
%S 秒
datetime类中常用方法 datetime.now() 获取当前日期时间 日期时间转化为时间戳: 时间日期对象.timestamp() # 如: datetime.now().timestamp() 时间戳转化为日期时间: datetime.fromtimestamp(时间戳) # 如: datetime.fromtimestamp(1534231316.796308) 日期时间对象转字符串: 时间日期对象.strftime(format格式) # 如: datetime.now().strftime('%Y-%m-%d') 字符串转化为日期时间对象: datetime.strptime(str_date, format格式) # 如: datetime.strptime('2019-06-01 15:25:30', '%Y-%m-%d %H:%M:%S') # 注意前后格式要一致
# timedelta: 时间运算 import datetime now = datetime.datetime.now().date() res = now + datetime.timedelta(days1) print(res.strftime('%Y-%m-%d')) # 得到明天的日期 # 2019-06-02 res = now - datetime.timedelta(days=3) print(res.strftime('%y-%m-%d')) # 得到三天前的日期 # 19-05-29
from datetime import datetime dt = datetime.now() print('当前日期和时间: {}'.format(dt)) # print('指定格式输出的当前时间: {}'.format(dt.strftime('%y{y}-%m{m}-%d{d}').format(y='年'.encode(), m='月'.encode(), d='日'.encode()))) print('指定格式输出的当前时间: {}'.format(dt.strftime('%y{y}-%m{m}-%d{d}').format(y='年', m='月', d='日'))) print(dt.strftime('%y{y}-%m{m}-%d{d}-%H{H}-%M{M}-%S{S}').format(y='年', m='月', d='日', H='时', M='分', S='秒')) date = dt.date() # 日期 print('日期: {}'.format(date)) time = dt.time() # 时间 print('时间: {}'.format(time)) # import time # print(time.time()) # 一个简单的时间戳 # 从 1970.1.1.0.0 # 时间戳 ret = dt.timestamp() # 时间转换为时间戳 print('当前时间转化为的时间戳: {}'.format(ret)) dt2 = datetime.fromtimestamp(ret) # 将时间戳转换为时间 print('当前时间戳转化为的时间:{}'.format(dt2))
import datetime now_date = datetime.datetime.now() dt = datetime.timedelta(hours=24, minutes=45, seconds=50) print(now_date-dt) # print(dt-now_date) # 报错 # print(dt+now_date) # 没有错,但是报高亮显示 date2 = datetime.date(1997, 8, 12) print(date2) # 1997-08-12 time2 = datetime.time(0, 50, 50) print(time2) # 00:50:50 t = datetime.timedelta(hours=1, weeks=2) # week 周; 星期 # 两周就是 14 天 print(date2+t) print('===='*20) # strftime() # stfptime() now_date = datetime.datetime.now() print(now_date, type(now_date)) # 2019-06-01 17:58:47.393771 <class 'datetime.datetime'> str_date = now_date.strftime('%Y-%m-%d %H:%M:%S') # strftime 转换为字符串的时间 print(str_date, type(str_date)) # 19-06-01 17:58:47 <class 'str'> date = datetime.datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S') # strptime() 要接收两个参数, 第十个参数要与转换的格式化参数一致 print(date, type(date)) # 2019-06-01 18:01:35 <class 'datetime.datetime'>
来源:https://www.cnblogs.com/nichengshishaonian/p/10961349.html