Python3.5内置模块之time与datetime模块用法实例分析
作者:loveliuzz 发布时间:2023-11-02 23:25:35
本文实例讲述了Python3.5内置模块之time与datetime模块用法。分享给大家供大家参考,具体如下:
1、模块的分类
a、标准库(Python自带):sys、os模块
b、开源模块(第三方模块)
c、自定义模块
2、内建模块——time
(1)在Python中通常用以下几种方式来表示时间:
a、时间戳:从1970年1月1日开始到当下的时间的秒数,导入time模块(import time),调用time.time()方法即可。
b、格式化的时间字符串。
c、元组(struct_time),共九个元素,调用time.localtime()。
由于Python的time模块实现主要调用C库,各个平台可能有所不同。
(2)代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import time
print(time.time()) #获取时间戳
time.sleep(2) #睡2秒
print(time.time()) #获取时间戳
print(time.gmtime()) #获取当前世界标准时间UTC
print(time.localtime()) #获取当前本地时间
print(time.localtime(1234567890)) #将时间戳转换成元组形式
x = time.localtime()
print(x.tm_year) #获取本地时间的年份
print("this is 2017 day:%d" %x.tm_yday)
print(time.mktime(x)) #将元组形式转换成时间戳
#将struct_time转化成格式化字符串的形式
#print(time.strftime("%Y-%m-%d %H:%M:%S"),x)
print(time.strftime("%Y-%m-%d %H:%M:%S"),time.localtime()) # %Y:x.tm_year %m:x.tm_mon 顺序可以打乱
#将格式化字符串的形式转化成struct_time
print(time.strptime("2017-09-28 19:00:47","%Y-%m-%d %H:%M:%S")) #x.tm_year:2017,x.tm_mon:09 位置顺序必须一一对应
print(time.asctime()) #结构化的元组形式转换成形如:周月日时分秒年的形式
print(time.ctime()) #将时间戳转化成形如:周月日时分秒年的形式
运行结果:
1506598454.9637923
1506598456.9639068
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=11, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)
2017
this is 2017 day:271
1506598456.0
2017-09-28 19:34:16 time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=0, tm_sec=47, tm_wday=3, tm_yday=271, tm_isdst=-1)
Thu Sep 28 19:34:17 2017
Thu Sep 28 19:34:17 2017
(3)几种表示时间的相互转化
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import time #导入时间模块
#1.返回当前时间戳
t = time.time()
print("Current time:",t)
#2.将时间戳转换成当地时间的时间元祖
tup1 = time.localtime(t)
print(tup1)
#年:tm_year,月:tm_mon,日:tm_mday
print("年份:",tup1.tm_year)
print("月份:",tup1.tm_mon)
print("日期:",tup1.tm_mday)
#3.将时间元组转换为时间戳(毫秒会忽略)
print("Timestamp is:",time.mktime(tup1))
#4.0 获取CPU运行时间来获取比较精准的秒数,一般用于时间间隔的获取或比较
#4.1 休眠/停止一段时间,指定需要停止的秒数
print("开始时间:",time.clock())
time.sleep(3)
print("结束时间1:",time.clock())
time.sleep(3)
print("结束时间2:",time.clock())
#5.时间元组转化成格式化时间字符串
tm_str = time.strftime("%Y-%m-%d %H:%M:%S",tup1)
print("格式化时间字符串:",tm_str)
#等价于
print("格式化时间字符串:",time.strftime("%Y-%m-%d %H:%M:%S",tup1))
#6.格式化时间字符串转化成时间元组
tup2 = time.strptime(tm_str,"%Y-%m-%d %H:%M:%S")
print("时间元组:",tup2)
#等价于
print("时间元组:",time.strptime(tm_str,"%Y-%m-%d %H:%M:%S"))
运行结果:
Current time: 1509503024.233398
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=0)
年份: 2017
月份: 11
日期: 1
Timestamp is: 1509503024.0
开始时间: 1.399506347461039e-06
结束时间1: 2.9997266297601293
结束时间2: 5.999885706981624
格式化时间字符串: 2017-11-01 10:23:44
格式化时间字符串: 2017-11-01 10:23:44
时间元组: time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=-1)
时间元组: time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=-1)
3、内建模块——datatime
(1)datatime.data——日期(年月日)
(2)datatime.time——时间(时分秒)
(3)datatime.datatime——日期+时间(年月日时分秒)
代码举例:
import datetime
print(datetime.datetime.now()) #获取当前时间
print(datetime.datetime.now()+datetime.timedelta(3)) #当前时间的后三天
print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间的前三天
print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间的后三个小时
print(datetime.datetime.now()+datetime.timedelta(minutes=-3)) #当前时间的前三分钟
c_time = datetime.datetime.now()
print(c_time.replace(minute=2,hour=3)) #对当前时间的替换
运行结果:
2017-09-28 19:54:40.167870
2017-10-01 19:54:40.167870
2017-09-25 19:54:40.167870
2017-09-28 22:54:40.167870
2017-09-28 19:51:40.167870
2017-09-28 03:02:40.167870
PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:
在线日期/天数计算器:
http://tools.aspxhome.com/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.aspxhome.com/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.aspxhome.com/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具:
http://tools.aspxhome.com/code/unixtime
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/loveliuzz/article/details/78123426


猜你喜欢
- 本文实例为大家分享了python和shell监控linux服务器的具体代码,供大家参考,具体内容如下1、 shell监控负载监控原理:使用u
- 来看看效果图对比:字符验证码: → 加法验证码:优点:①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文
- 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行
- Hihi, 大家好~ 最近有不少人都提及了网页上该如何选择字体的问题。问题虽然小,但是却是前端开发中的基本,因为目前的网页,还是以文字信息
- 1. 概念图像融合: 两幅图片叠加在一起,形成前景背景的效果。2. 流程(1)读入要融合的两幅图片。(2)把两幅图片调整到统一大小,方便下一
- Math对象Math对象是在高中数学课就学过的内置对象。它知道解决最复杂的数学问题的所有公式,如果给它要处理的数字,即能计算出结果。Math
- Web设计师可以使用HTML4和CSS2.1完成一些很酷的东西。我们可以在不使用陈旧的基于table布局的基础上完成文档逻辑结构并创建内容丰
- 项目总体情况软件:Pycharm环境: Python 3.7.9(考虑到客户可能会有不同操作系统,为了兼容性考虑)技术库: requests
- 1.列表Stepping这是一个 step 参数,可以通过采取几个步骤来分割你的列表。此外,你可以使用 step 参数来反转整数。看看下面的
- Python 基础教程之包和类的用法建立一个文件夹filePackage 在filePackage 文件夹内创建 __init__.py 有
- 本文实例讲述了Python面向对象思想与应用。分享给大家供大家参考,具体如下:面向对象思想1、面向对象的设计思想面向对象是基于万物皆对象这个
- 使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释。代码简单,具体代码如下:# coding=utf-8'
- 什么是mock?mock在翻译过来有模拟的意思。它允许您用模拟对象替换您的系统的部分,并对它们已使用的方式进行断言。Mock通常是指,在测试
- 想要实现自定义标签和过滤器需要进行准备工作:准备(必需)工作:1 在某个app下创建一个名为templatetags(必需,且包
- 一、前言 说实话,刚测试ES的时候,我的内心是崩溃的,好多单词都不知道
- 创作思路:主要还是想尝试做点稍微不同于整天为迎合客户而做的东西.然后闲时就开始构思,比如坐车,走路什么的.看到有一些复古手机的相关图,就想到
- 刚接触 Go 语言时,就听说有一个叫rune的数据类型,即使查阅过一些资料,对它的理解依旧比较模糊,加之对陌生事物的天然排斥,在之后很长一段
- 本文实例为大家分享了js实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下两个小时完成的,有点简陋。直接看效果。打开调试面板,在resour
- 前言没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。希望:所以说,树倒了,没
- python和PHP的难易程度并没有明确的界限,如果是零基础的小白,建议学php会好一些,原因大公司小公司创业公司非互联网公司,都会用到ph