python datetime -- 时间、日期模块
加载库
import datetime
from datetime import timedelta
一、datetime 基础
now = datetime.datetime.now() # 返回当前时间 -- datetime格式
now_time = now.time() # datetime 转 time
now_date = now.date() # datetime 转 date
year = now.year # 年
quarter = (now.month-1)//3 + 1 # 季度
month = now.month # 月
day = now.day # 日
hour = now.hour # 小时
minute = now.minute # 分钟
second = now.second # 秒
microsecond = now.microsecond # 毫秒
week = now.weekday() # 返回日期是星期几,[0, 6],0表示星期一
isoweek = now.isoweekday() # 返回日期是星期几,[1, 7], 1表示星期一
isocalendar = now.isocalendar() # 返回一个元组,格式为:(年份, 本年第几周, 周几)
timestr = now.isoformat() # 返回‘YYYY-MM-DD'格式的日期字符串str_ = now.strftime("%Y-%m-%d %H:%M:%S") # 时间格式 转 字符串
now = datetime.datetime.strptime(str_,"%Y-%m-%d %H:%M:%S") # 字符串 转 时间格式print(" 当前时间(datetime格式):",now)
print(" datetime 转 time:",now_time)
print(" datetime 转 date:",now_date)
print(" 年:",year)
print(" 季:",quarter)
print(" 月:",month)
print(" 日:",day)
print(" 时:",hour)
print(" 分:",minute)
print(" 秒:",second)
print(" 毫秒:",microsecond)
print(" 周(0表示周一):",week)
print(" 周(1表示周一):",isoweek)
print(" 年份, 第几周, 周几:",isocalendar)
print(" 日期字符串:",timestr)
二、常用日期计算 (timedelta)
################################################ timedelta函数基本形式 ###########################################
now + timedelta(weeks = 3, days = 3, hours = 3, seconds = 30) # 3周3天3小时30秒后####################################################### 日 #######################################################
last_day = now + timedelta(days=-1) # 昨天
next_day = now + timedelta(days=1) # 明天####################################################### 周 #######################################################
this_week_start = now + timedelta(days=-now.weekday()) # 本周一
last_week_start = now + timedelta(days=-now.weekday()-7) # 上周一
next_week_start = now + timedelta(days=-now.weekday()+7) # 下周一this_week_end = now + timedelta(days=6-now.weekday()) # 本周日
last_week_end = now + timedelta(days=-now.weekday()-1) # 上周日
next_week_end = now + timedelta(days=now.weekday()+6) # 下周日####################################################### 月 #######################################################
this_month_start = datetime.datetime(now.year, now.month, 1) # 本月一号
last_month_start = datetime.datetime((this_month_start+timedelta(days=-1)).year, \(this_month_start+timedelta(days=-1)).month, 1) # 上月一号
next_month_start = datetime.datetime(now.year, now.month+1, 1) # 下月一号this_month_end = datetime.datetime(now.year, now.month + 1, 1) - timedelta(days=1) # 本月最后一天
last_month_end = datetime.datetime(now.year, now.month, 1) - timedelta(days=1) # 上月最后一天
next_month_end = datetime.datetime(now.year, now.month + 2, 1) - timedelta(days=1) # 下月最后一天####################################################### 季 #######################################################
month = (now.month - 1) - (now.month - 1) % 3 + 1
this_quarter_start = datetime.datetime(now.year, month, 1) # 本季度第一天
this_quarter_end = datetime.datetime(now.year, month + 3, 1) - timedelta(days=1) # 本季度最后一天last_quarter_end = this_quarter_start - timedelta(days=1) # 上季最后一天
last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1) # 上季第一天next_quarter_start = datetime.datetime(now.year, month + 3, 1) # 下季度第一天
next_quarter_end = datetime.datetime(now.year, month + 6, 1) - timedelta(days=1) # 下季度最后一天####################################################### 年 #######################################################
this_year_start = datetime.datetime(now.year, 1, 1) # 本年一号
last_year_start = datetime.datetime((this_year_start+timedelta(days=-1)).year,1, 1) # 上年一号
next_year_start = datetime.datetime(now.year + 1, 1, 1) # 下年一号this_year_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1) # 本年最后一天
last_year_end = datetime.datetime(now.year, 1, 1) - timedelta(days=1) # 上年最后一天
next_year_end = datetime.datetime(now.year + 2, 1, 1) - timedelta(days=1) # 下年最后一天
三、计算两个日期的时间间隔
d1 = datetime.datetime.now()
d2 = now + timedelta(weeks = 8, days = 3, hours = 3, seconds = 30) # 8周3天3小时30秒后d_seconds = (d2 - d1).seconds # 秒
d_minutes = (d2 - d1).seconds / 60 # 分
d_hours = (d2 - d1).seconds / 3600 # 时
d_days = (d2 - d1).days # 天
d_weeks = (d2 - d1).days / 7 # 周
d_year = d2.year - d1.year # 年
d_month = d_year*12 + d2.month - d1.month # 月
d_quarter = d_year*4 + (d2.month-1)//3 - (d1.month-1)//3 # 季print("开始日期:",d1)
print("结束日期:",d2)
print("相差年数:",d_year)
print("相差季度:",d_quarter)
print("相差月数:",d_month)
print("相差周数:",d_weeks)
print("相差天数:",d_days)
print("相差小时:",d_hours)
print("相差分钟:",d_minutes)
print("相差秒数:",d_seconds)
- 参考:https://blog.csdn.net/gty931008/article/details/80254806
python datetime -- 时间、日期模块相关推荐
- python 日期格式月份不加前导,Python datetime时间格式化去掉前导0
Python datetime时间格式化去掉前导0 Python时间格式化的时候,去掉前导0的: dt = datetime.now() print dt.strftime('%-H') #结果是: ...
- Python 创建时间日期datetime对象
datetime 模块提供用于处理日期和时间的类.在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作.本文主要介绍Python 创建时间日期datet ...
- python中时间日期相减并转化为秒
python在时间日期转化时候怎样相减转化 秒 ,刚有人咨询我这些问题,写了一些代码 希望对你有点用 from datetime import datetime now_time = datetime ...
- python中处理日期和时间的标准模块是-关于时间和Python的时间处理模块
概念 关于时间你因该了解的几个概念: 秒 在1967年的第13届国际度量衡会议上决定以原子时定义的秒作为时间的国际标准单位:铯133原子基态的两个超精细能阶间跃迁对应辐射的9,192,631,770个 ...
- [转载] 整理总结 python 中时间日期类数据处理与类型转换(含 pandas)
参考链接: Python中的时间函数 2(日期操作) 我自学 python 编程并付诸实战,迄今三个月. pandas可能是我最高频使用的库,基于它的易学.实用,我也非常建议朋友们去尝试它.--尤其当 ...
- python操作html5日期控件_python、js 时间日期模块time
python 参考链接:https://www.runoob.com/python/python-date-time.html 时间戳 >>> print(time.time())# ...
- python datetime格式化日期_python datetime日期时间格式化: | 学步园
datetime.datetime.strftime() %a:英文星期缩写: %A:英文星期全称: %b: 英文月份缩写: %B: 英文月份全称: %c: Wed Jul 31 10:11:51 2 ...
- python之时间日期time
常用的时间函数如下 获取当前日期:time.time() 获取元组形式的时间戳:time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化):time.asctime( ...
- python对时间日期做格式化
From: http://www.cnblogs.com/65702708/archive/2011/04/17/2018936.html Python格式化日期时间的函数为datetime.date ...
最新文章
- Spring testcontext
- Xftp连接到Linux服务器时提示连接失败的配置
- facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数
- 9行代码满分 【C语言】 L1-062 幸运彩票 (15分)
- python笔记之序列(dict的基本使用和常用操作)
- 10-对象属性的获取方式
- 我来自双非二本,未来的路该怎么走?
- math:线性代数之行列式
- mysql5.7用户管理
- 如何恢复右键里新建记事本
- Android之RecyclerView实现时光轴
- Pytorch出现Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
- Scheduler:Event UID not valid(转)
- 通过anaconda下载 opencv的方法
- 如何去除Matlab里面的ans?
- 如何搭建Hyperledger fabric网络
- unigine 三维旋转矩阵(mat3,quat) scale translate 变换矩阵(mat4) 和forward up right 关系 normal binormal tangent
- 算法与数据结构+LeetCode题解-Js版
- linux之根文件系统
- 为什么 SD-WAN 很重要?