Python—6.1、日期时间
文档目录
- 1、time模块
- 时间元组
- 格式化符号
- 日期转换
- 日历模块
- 2、datetime模块
- 2.1、日期时区
- 2.2、当前时间
- 2.3、常用操作
- 2.4、时间加减
- 3、dateutil模块
1、time模块
- 当前时间戳
import timefloatTime=time.time()
说明:
1)使用 time.time()返回的是一个 float类型的结果;
2)该值是当前时间距离 1970.1.1日零时的秒数;
- 本地时间
import time
localtime=time.localtime()# another method
localtime=time.localtime(time.time())
说明:此处上述2种结果都一致,结果如下:
time.struct_time(tm_year=2022, tm_mon=3, tm_mday=19, tm_hour=13, tm_min=0, tm_sec=4, tm_wday=5, tm_yday=78, tm_isdst=0)
时间元组
时间元组 time.struct_time结构如下:
序号 | 属性 | 值 |
---|---|---|
0 | tm_year | 4位年份值 |
1 | tm_mon | 月份值:1~12 |
2 | tm_mday | 天数值:1~31 |
3 | tm_hour | 小时值:0~23 |
4 | tm_min | 分钟值:0~59 |
5 | tm_sec | 秒数值:0~59 |
6 | tm_wday | 周第几天:0~6(0是周一) |
7 | tm_yday | 年第几天:0~366 |
8 | tm_isdst | 是否夏令时(1:夏令时;0:非夏令时;-1:未知) |
说明:时间元组在格式化字符串的时候,没有毫秒位;
格式化符号
符号 | 含义 |
---|---|
%y | 两位数的年份表示(00-99) |
%Y | 四位数的年份表示(000-9999) |
%m | 月份(01-12) |
%d | 月内中的一天(0-31) |
%H | 24小时制小时数(0-23) |
%I | 12小时制小时数(01-12) |
%M | 分钟数(00~59) |
%S | 秒(00-59) |
%f | 毫秒,6位整数,000000~999999; |
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%j | 年内的一天(001-366) |
%p | 本地A.M.或P.M.的等价符 |
%U | 一年中的星期数(00-53)星期天为星期的开始 |
%w | 星期(0-6),星期天为星期的开始 |
%W | 一年中的星期数(00-53)星期一为星期的开始 |
%x | 本地相应的日期表示 |
%X | 本地相应的时间表示 |
%Z | 当前时区的名称 |
%% | %符号本身 |
日期转换
- 日期格式化
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
- 字符转日期
time.strptime("2022-03-22 14:40:11", "%Y-%m-%d %H:%M:%S")
说明:time.strptime 返回类型为 time_struct;
time.mktime(tupletime)
说明:time.mktime 输入为时间元组(time_struct),返回为时间戳(float);
日历模块
import calendar
mon_cal=calendar.month(year,month)
2、datetime模块
该模块主要使用 几种类,time、date、datetime、timedelta、timezone;
类库介绍:https://docs.python.org/3/library/datetime.html
2.1、日期时区
在计算机中时间实际上是用数字表示的。把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。
timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00
对应北京时间:
timestamp = 0 = 1970-1-1 08:00:00 UTC+8:00
时区转换有2种方式,一种是先获取UTC标准时间,然后转换为别的时区;另外一种是先获取一个带时区的日期,然后转换为别的时区;
前置导入类
from datetime import timezone
获取UTC时间
utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
utc_dt 转换北京时区 bj_dt
bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
utc_dt 转换东京时区 dj_dt
bj_dt = utc_dt.astimezone(timezone(timedelta(hours=9)))
utc_bj 转换 utc_dj 时区
dj_dt = bj_dt.astimezone(timezone(timedelta(hours=9)))
2.2、当前时间
from datetime import datetime
from datetime import date
datetime.now()
datetime.today()
datetime.fromtimestamp(time.time())
UTC标准时间
datetime.utcfromtimestamp(time.time())
2.3、常用操作
前置导入类
from datetime import date
from datetime import time
from datetime import datetime
初始化 date 变量
v_d = date(2022, 8, 15)
初始化 time 变量
v_t = time(13,36,57)
date 和 time 合并
v_dt = datetime.combine(v_d,v_t)
时间戳转 datetime 类
datetime.fromtimestamp(float)
字符串转 datetime 类
datetime.fromisoformat(strdate)
datetime 转 timestamp
v_dt.timestamp()
字符串转 datetime 类
v_dt = datetime.strptime("2022-08-15 13:44:57", "%Y-%m-%d %H:%M:%S")
datetime 转时间元祖
v_dt.timetuple()
datetime转格式化字符
v_dt = datetime.now()
str_dt = v_dt.strftime("%Y-%m-%d %H:%M:%S.%f")
2.4、时间加减
前置导入类
from datetime import datetime
from datetime import timedelta
- 加减操作
dt_add = datetime.now() + timedelta(days= ,hours= ,minutes= ,seconds= ,milliseconds=)
参数选项:days、hours、minutes、seconds、milliseconds;
3、dateutil模块
类库手册:https://dateutil.readthedocs.io/en/stable/index.html
dateutil 模块属于三方库,常用的类有 relativedelta、rrule、parser、easter;
类库导入:
pip install python-dateutil
======================================== over ========================================
Python—6.1、日期时间相关推荐
- python.freelycode.com-Python日期时间处理: datestuff
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 问题: 在一些场景下datetime包的使用并非那么简便易用,同时很难找到其他的较为完整的替代方案. 原因 ...
- Python笔记:日期时间获取与转换
世界时(Universal Time, UT)是根据地球自转周期确定的时间,1s为全年内每日平均长度的1/86400,由于地球绕太阳公转的轨道不是圆的,地球与太阳之间的距离不是固定的,导致太阳相对绕地 ...
- Python - 字符串转日期时间,格式的处理以及时间加减计算
1,字符串转日期 import datetime strTime = '2022-06-11 11:03' strTime = datetime.datetime.strptime(strTime,& ...
- python中日期使用_在Python中使用日期时间的每月总金额
有了熊猫,它会更直观,更容易理解 在数据框中加载数据 df=pd.DataFrame([[datetime.date(2018, 8, 10), 1076.2392505636847], [datet ...
- python常用的日期时间模块
今天.昨天.明天 import datetime today = datetime.date.today() # 今天 yesterday = today - datetime.timedelta(d ...
- python中的日期时间处理,提取年月日
python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数( ...
- python时间格式化代码_Python代码中如何将”日期时间”格式化为自己所需的样式呢?...
摘要: 下文讲述Python代码中将日期时间格式化为时间的方法分享,如下所示: 实现思路: 使用time.strftime函数将 一个时间元组格式化自定义的模式 strftime函数语法: time. ...
- python日期时间_Python日期时间
python日期时间 Python日期时间 (Python datetime) In this post, we will study about how to use the python date ...
- Python中的对日期时间的处理
我们可以通过学习在Python中对日期时间的处理,可以在快速的完成工作,比如: 将日期时间作为日志信息的内容输入 计算某一个功能的执行时间 用日期命名一个文件的名称 记录或者展示文件的发布或修改时间 ...
- python周天为一周的开始_Python中的对日期时间的处理
image 我们可以通过学习在Python中对日期时间的处理,可以在快速的完成工作,比如: 将日期时间作为日志信息的内容输入 计算某一个功能的执行时间 用日期命名一个文件的名称 记录或者展示文件的发布 ...
最新文章
- 带AM或者PM的时间字符串转data类型
- 挺住了这一波,微盟正在进化
- [PY3]——内置数据结构(4)——字符串格式化(format)
- Django Cookie于Session
- 五种世界顶级思维-20190303
- QT学习笔记(九):遍历容器-迭代器(iterators)
- Django账号绑定邮箱时发送链接
- NB-IoT终端进网检测介绍
- java 微信小程序 在线学习系统app
- CVPR 2021 预讲 · 华为诺亚专场,5 篇精华报告,覆盖NAS、蒸馏、检测和降噪
- 名悦集团:冬季汽车开暖风有哪些注意事项
- git原理学习记录:从基本指令到背后原理,实现一个简单的git
- 股票学习-20220613
- mysql分区表去重复_MySQL分区表管理
- 如何理解那些令人困惑的Windows 7文件/共享权限
- echarts 绘制省份地图 [ 把不同省份的市合并在一起 ]
- 十秒钟入门一分钟搭建Discuz论坛
- Oracle的12c版本打补丁
- Hibernate方言
- 服务器资源监控工具———node_exporter
热门文章
- gis插入的文本怎么搞成两行_怎么样制作标书?Word排版技巧大全,让标书制作更简单...
- 一号店静态html源代码,一号店html模板
- 基于密钥的ssh远程登录
- Photoneo 3D相机常见问题汇总
- 【kubesphere】Deploy to kubernets阶段报错
- 心理学考研难度 分析
- 基于MATLAB的疲劳驾驶检测系统
- 花了我很长时间整理出来的绿色软件[小蓉整理]
- 你随身携带的录音工作室:录音机HD“录音工作室”9.0.4评测
- cmake教程5-macro宏定义以及传递参数给源文件