time and datetime
一、简述
我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & datetime
二、time模块
1、time.process_time()
功能:测量处理器的运算时间,但是不包括sleep时间
>>> import time
>>> time.process_time()
0.171875
>>>
2、time.altzone()
功能:返回与utc的时间的时间差,以秒计算
>>> import time
>>> time.altzone
-32400
>>> time.altzone / 3600
-9.0
>>>
3、time.asctime()
功能:返回时间格式:'Thu Mar 30 16:47:39 2017'(星期 月 日 时间 年)
>>> import time
>>> time.asctime()
'Wed Mar 27 23:41:28 2019'
>>>
4、time.localtime()
功能:返回本地时间的struct _time的格式的对象,也可以把时间戳转换成成struct _time的格式的对象
>>> import time
>>> t = time.localtime()
>>> t
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=42, tm_sec=20, tm_wday=2, tm_yday=86, tm_isdst=0)
>>> t.tm_hour
23
>>>
5、time.time()
功能:返回当前时间的时间戳(1970年纪元后经过的浮点秒数)
>>> import time
>>> time.time()
1553701394.1449068
>>> time.localtime(time.time())
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=43, tm_sec=22, tm_wday=2, tm_yday=86, tm_isdst=0)
# 给当前时间加上3个小时,注意了,localtime中只能介绍秒级别的,所以是3600*3表示3个小时
>>> time.localtime(time.time() + 3600*3)
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=28, tm_hour=2, tm_min=43, tm_sec=39, tm_wday=3, tm_yday=87, tm_isdst=0)
#跟asctime结合起来用 生成当前时间格式
>>> time.asctime( time.localtime( time.time() ) )
'Wed Mar 27 23:43:47 2019'
>>>
注:为啥是1970年呢?因为1970年1月1日被当做unix操作系统的诞生元年。
6.time.gmtime()
功能:返回当前utc时间(伦敦时间)
>>> import time
>>> time.gmtime() # 返回utc的时间struct time 格式
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=15, tm_min=45, tm_sec=27, tm_wday=2, tm_yday=86, tm_isdst=0)
>>> time.asctime(time.gmtime()) # 伦敦时间
'Wed Mar 27 15:45:36 2019'
>>> time.asctime(time.localtime()) # 北京时间,两者正好相差8个小时
'Wed Mar 27 23:45:43 2019'
>>>
7、time.strptime()
功能:把时间格式的字符串转成struct_time格式的时间对象
>>> import time
>>> time.strptime("2019-03-27 23:50","%Y-%m-%d %H:%M")
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=23, tm_min=50, tm_sec=0, tm_wday=2, tm_yday=86, tm_isdst=-1)
>>>
8、time.mktime()
功能:把struct_time时间对象转成时间戳
>>> import time
>>> t = time.strptime("2019-03-27 23:50","%Y-%m-%d %H:%M")
>>> t2_stamp = time.mktime(t)
>>> t2_stamp
1553701800.0
>>>
9、time.strftime()
功能:struct_time时间对象转换成时间字符串
>>> import time
>>> t = time.strptime("2019-03-27 23:50","%Y-%m-%d %H:%M")
>>> m = time.strftime("%Y-%m-%d-%H-%M.log",t)
>>> m
'2019-03-27-23-50.log'
>>> m = time.strftime("%Y-%m-%d-%H-%M.log")
>>> m
'2019-03-27-23-49.log'
>>>
三、时间格式转换
1、转换表格

2、时间格式转换关系图



四、datetime模块
1、datetime.datetime.now()
功能:返回当前时间,格式如:2019-03-27 23:51:46.470982
>>> import datetime
>>> print(datetime.datetime.now())
2019-03-27 23:51:46.470982
>>>
2、datetime.date.fromtimestamp()
功能:时间戳转换为日期格式
>>> import datetime, time
>>> t = datetime.date.fromtimestamp(time.time())
>>> print(t)
2019-03-27
>>>
3、datetime.timedelta()
功能:对某个时间的加减
import datetime
t1 = datetime.datetime.now() + datetime.timedelta(days=3) # 当前时间加3天
print(t1) # 2019-03-30 23:54:12.276922
t2 = datetime.datetime.now() - datetime.timedelta(days=3) # 当前时间减3天
print(t2) # 2019-03-24 23:55:11.134536
t3 = datetime.datetime.now() + datetime.timedelta(days=-3) # 当前时间减3天
print(t3) # 2019-03-24 23:56:05.031826
t4 = datetime.datetime.now() + datetime.timedelta(hours=3) # 当前时间加3个小时
print(t4) # 2019-03-28 02:56:46.670753
t5 = datetime.datetime.now() + datetime.timedelta(minutes=30) # 当前时间加30分钟
print(t5) # 2019-03-28 00:27:18.182722
4、时间替换
>>> import datetime
>>> c_time = datetime.datetime.now()
>>> print(c_time)
2019-03-27 23:59:51.528180
>>> update_c_time = c_time.replace(minute=3,hour=2) # 时间替换
>>> print(update_c_time)
2019-03-27 02:03:51.528180
>>>
time and datetime的更多相关文章
- C# DateTime与时间戳转换
C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳: ...
- C# DateTime日期格式化
在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 1. 分类 2. 制式类型 3. ...
- 在面试中忽然发现DateTime的一些...
今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...
- LINQ to SQL语句(14)之Null语义和DateTime
Null语义 说明:下面第一个例子说明查询ReportsToEmployee为null的雇员.第二个例子使用Nullable<T>.HasValue查询雇员,其结果与第一个例子相同.在第三 ...
- .NET DateTime类型变量作为参数时设置默认值
一个小的 Tips. .NET 中函数参数的默认值需要是编译时常量.如果参数是引用类型,可以设置Null,如果是值类型,可以设置相应的编译时常量,如整型可以用整数,但对于DateTime(结构体,值类 ...
- BCS datetime 时间区间问题
BCS 整合sql表时发现以下问题: datetime字段在列表中带了时区,比如插入12-6号的数据,在sql中显示的是12-5 date类型字段无法正确识别,插入成功但报错 LobSystem (外 ...
- C#中DateTime.Ticks属性及Unix时间戳转换
1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). ...
- WPF 自定义DateControl DateTime控件
自定义日期控件,月份选择.如下是日期的一些效果图. 具体的样式.颜色可以根据下面的代码,自己调节即可 1.日期控件的界面 <UserControl x:Class="WpfApp ...
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...
- python标准模块(time、datetime及hashlib模块)
一.time,datetime模块 时间相关的操作 import time time.sleep(5) # ==> 停顿多少秒 print(time.time()) # ==> 返回时间戳 ...
随机推荐
- useradd
功能说明:useradd命令可用于创建新的用户或者更改用户的信息. 语法格式:useradd [选项] [用户名]useradd -D [选项] 选项说明:1.使用useradd常规添加用户工作原理流 ...
- 使用iframe在手机中嵌套页面
使用iframe嵌套网页 <iframe id="show-iframes" frameborder="0" name="showHere&qu ...
- 通用查询实现方案(可用于DDD)[附源码] -- 简介
原文:通用查询实现方案(可用于DDD)[附源码] -- 简介 [声明] 写作不易,转载请注明出处(http://www.cnblogs.com/wiseant/p/3985353.html). [ ...
- 关于结构体内存对齐方式的总结(#pragma pack()和alignas())
最近闲来无事,翻阅msdn,在预编译指令中,翻阅到#pragma pack这个预处理指令,这个预处理指令为结构体内存对齐指令,偶然发现还有另外的内存对齐指令aligns(C++11),__declsp ...
- 洛谷 P1705 爱与愁过火
P1705 爱与愁过火 题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第三章. 爱与愁大神说这是ta的伤心指数,只不过现在好很多了,翻译只 ...
- Saltstack的API接口与调用方式
saltstack看起来是成为一个大规模自己主动化运维和云计算管理的一个框架,类似于SDK,并非像puppet仅仅成为一个工具.基于良好设计的API和清楚的思路,让salt的二次开发变得非常easy ...
- 一种基于RGB空间的对照度增强的filter
今天看前辈博客的时候看到一种新的基于RGB颜色空间的image contrast enhance filter 流浪的鱼link: http://blog.csdn.net/jia20003/arti ...
- TensorFlow的学习
1.先判断python的版本(因为有些python版本自带pip,可以参考我写的对pip的认识的博客文章),选择是否安装pip,然后安装更新tensorflow如:sudo pip install - ...
- POJ 2227 FloodFill (priority_queue)
题意: 思路: 搞一个priority_queue 先把边界加进去 不断取最小的 向中间扩散 //By SiriusRen #include <queue> #include <cs ...
- 搜寻Linux软件实用指南
搜寻Linux软件实用指南 对于初学者来说,仅仅安装好Linux系统还是不够的,还需要安装大量的应用软件.许多下载网站都提供了诸如装机必备软件的下载,分门别类提供经典的工具软件下载.本文主要针对初学 ...