python时间库_Python处理日期时间的标准库:time和datetime
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于Python之王 ,作者小sen
前言
time和datetime是Python处理日期和时间的标准库。在我们项目的实际开发当中使用率是非常高的。datetime模块有四个重要的类,date,time,datetime,以及timedelta类,分别表示的是日期对象、时间对象、日期时间对象和时间差对象。
时间戳
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。注意:目前Python中支持的最大的时间戳为32535244799(3001-01-01 15:59:59)
Python的time块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳。例如:
import time
time.time() #返回当前时间的时间戳 2000年时间戳 都是10位
1557212908.1839943
# 获取毫秒级别的时间戳(爬虫参数基本用14位时间戳加密)
int(round(time.time() * 1000))
1557212908183
在编写代码时,往往涉及时间、日期、时间戳的相互转换。
「str类型的日期转换为时间戳」
import time
# 字符类型的时间
t = '2019-05-07 15:08:28'
# 转为时间数组
timeArray = time.strptime(t, "%Y-%m-%d %H:%M:%S")
print(timeArray)
# timeArray可以调用tm_year等
print(timeArray.tm_year) # 2019
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp) # 1381419600
# 结果如下
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=7, tm_hour=15, tm_min=8, tm_sec=28, tm_wday=1, tm_yday=127, tm_isdst=-1)
2019
1557212908
「字符串格式更改」
# "2019-05-07 15:08:28" 改为 "2019/5/7 15:08:28"
# 先转换为时间数组
import time
str_time = "2019-05-07 15:08:28"
time_array = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")
other_way_time = time.strftime("%Y/%m/%d %H:%M:%S", time_array)
print(other_way_time) # 2019/05/07 15:08:28
now = datetime.datetime.now()
otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime) # 2019--05--07 15:08:28
「时间戳转时间日期」
import time
import datetime
# 使用time
timeStamp = 1557212908
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print(otherStyleTime) # 2019--05--07 15:08:28
# 使用datetime
timeStamp = 1557212908
dateArray = datetime.datetime.fromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime) # 2019--05--07 15:08:28
# 使用datetime,指定utc时间,相差8小时
timeStamp = 1557212908
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print(otherStyleTime) # 2019--05--07 07:08:28
Datetime
datetime模块是在time模块的基础之上做了封装,提供了更多更好用的类供我们使用,常用的有date、time、datetime、timedelta、tzinfo。但是为了更灵活的处理时间,最好是将time模块和datetime模块中的精髓学习到。
date类
date类:主要用于处理年、月、日。
date类的构造函数如下:datetime.date(year, month, day)
示例:
from datetime import date
d = date(1999, 9, 29)
print(d)
print('year:', d.year)
print('month:', d.month)
print('day:', d.day)
具体输出:
1999-09-29
year: 1999
month: 9
day: 29
time类
time类:主要用于处理小时、分钟、秒。
time类的构造函数如下:datetime.time(hour[,minute[,second[,microsecond[,tzinfo]]]])
示例:
from datetime import time
t = time(22, 45, 59)
print(t)
print('hour:', t.hour)
print('minute:', t.minute)
print('second:', t.second)
print('microsecond:', t.microsecond) #微秒
print('格式化输出:', t.strftime('%H:%M:%S'))
print('Earliest :', datetime.time.min)
print('Latest :', datetime.time.max)
输出:
22:45:59
hour: 22
minute: 45
second: 59
microsecond: 0
格式化输出:22:45:59
Earliest : 00:00:00
Latest : 23:59:59.999999
datetime子类
datetime子类是date对象和time对象的结合体,是datetime的子类,和它的方法很类似。
它的构造函数如下:
datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]),
各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。
「获取当前日期和时间」
>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)
2019-05-07 16:28:07.198690
>>> print(type(now))
timedelta类
timedelta类是用来计算二个datetime对象的差值的。可以进行加减乘除运算的,它的实例化方法和datetime对象很类似 此类中包含如下属性:
(1) days:天数。
(2) microseconds:微秒数(>=0并且<1秒)。
(3) seconds:秒数(>=0并且<1天)。
两个date或datetime对象相减就可以返回一个timedelta对象。
import datetime as dt
date1=dt.date(2020,10,28)
timedel=dt.timedelta(days=4)
print('四天后的日期是:', date1+timedel)
四天后的日期是:2020-11-01
python时间库_Python处理日期时间的标准库:time和datetime相关推荐
- python案例演示_Python中日期时间案例演示
案例:准备10个人姓名,然后为这10个人随机生成生日[都是90后] 1.统计出那些人是夏季[6月-8月]出生的. 2.最大的比最小的大多少天 3.谁的生日最早,谁的生日最晚 备注:春季[3-5]夏季[ ...
- 如何在python中找到两个日期时间对象之间的时差?
本文翻译自:How do I find the time difference between two datetime objects in python? 如何分辨两个datetime对象之间的时 ...
- 把一个中文日期时间格式字符串转为日期时间
MS SQL Server2012中把一个中文日期时间格式字符串转为日期时间. 如: DECLARE @d NVARCHAR(20) = N'2012年08月12日14时36分48秒' SELECT ...
- mysql 时间 1_(转)mysql日期时间函数1
MySQL 日期跟时间函数(一) 作者: Mr.Zhang MySQL 日期跟时间的样式 在MySQL 中有很多有用处的日期跟时间函数.我们常常看到许多应用于日期的计算是在代码 方面上进行的,但是其实 ...
- android时间24小时,安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义...
安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义 安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义时间) 这个地方的是按24小时制还是12小时制 是 ...
- php 时间加法函数_PHP 日期时间函数的高级应用技巧
PHP 日期时间函数常用函数高级使用技巧,大家在以后的开发中能用的到. PHP的日期时间函数date() 1,年-月-日 echo date('Y-m-j'); 2007-02-6 echo date ...
- php标准库string,PHP中的一些标准库
很多PHPer都不知道PHP有着自己的一些标准库,官网已经列出了SPL的PHP标准库 网址:php.net/spl 标准库中主要的一些数据结构 数据结构 名称 SplStack 栈 SplQueue ...
- python输出时间格式_python中日期和时间格式化输出的方法小结_python
这篇文章主要介绍了python中日期和时间格式化输出的方法,实例总结了Python常见的日期与事件操作技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了python中日期和时间格式化输出的方 ...
- python 从日期列表中选出最大的_python – 从日期时间列表中获取最早和最晚时间...
我有, timestamp=[] for x in model_obj: timestamp.append(x.start_time) print timestamp 结果: [datetime.da ...
最新文章
- Python基本语法_强制数据类型转换
- 使用Python解析nginx日志文件
- java中批次号_在一个批次中插入多笔记录的几种方法
- linux安装配置SVN服务器
- matlab产生正态分布样本
- java去除不为null,java – 选择特定字段不为NULL的所有记录
- PHP中类重写方法,php中重写方法有什么规则
- linux创建用户已存在哪里,解决linux下创建用户时出现 Creating mailbox file: 文件已存在...
- 二分法08:寻找旋转排序数组中的最小值
- 思科实验3.数据链路层:生成树配置
- zzulioj 1038 python 绝对值最大
- 极速版RPS选股,一秒出结果的方案是如何实现的!股票量化分析工具QTYX-V2.5.3...
- bat文件建文件夹时乱码及失败问题
- svn问号图标解决方案
- 知乎热榜的话题,为什么从阿里巴巴离职,大萌哥汇总了9大理由,看完我先柠檬酸了!
- 我感觉的优美诗句品鉴(不定时更新)
- 基础教育弊端日益显现 中国课程改革势在必行
- python使用 pywin32 模块操作 excel,Python 操作 excel 系列之五
- 写给仿真软件研发的“一篇文章入门”系列(终)
- matlab识别岩石破坏,MATLAB环境下岩石SEM图像损伤分形维数的实现
热门文章
- 6点叫醒全员的腾讯是枕戈待旦,还是如李彦宏说的“新瓶装旧酒”
- 华为发布企业服务云化转型战略 未来5年投资5亿美金建设服务能力(2017年09月06日)
- Docker学习总结(26)——Docker 管理工具的选择:Kubernetes 还是 Swarm?
- Tomcat学习总结(13)—— Tomcat常用参数配置说明
- Oracle学习总结(5)—— SQL语句经典案例
- 详细对比9门主流编程语言
- python自动控制库_python PyAUtoGUI库实现自动化控制鼠标键盘
- python查找文件名_Python实现的根据文件名查找数据文件功能示例
- 不做别人思想的“跑马场”(人民论坛)
- 致敬各位10年阿里的前端开发