Python3.5内置模块之time与datetime模块用法实例分析


Posted in Python onApril 27, 2019

本文实例讲述了Python3.5内置模块之time与datetime模块用法。分享给大家供大家参考,具体如下:

1、模块的分类

a、标准库(Python自带):sys、os模块

b、开源模块(第三方模块)

c、自定义模块

2、内建模块——time

Python3.5内置模块之time与datetime模块用法实例分析

Python3.5内置模块之time与datetime模块用法实例分析

(1)在Python中通常用以下几种方式来表示时间:

a、时间戳:从1970年1月1日开始到当下的时间的秒数,导入time模块(import time),调用time.time()方法即可。

b、格式化的时间字符串。

c、元组(struct_time),共九个元素,调用time.localtime()。

由于Python的time模块实现主要调用C库,各个平台可能有所不同。

Python3.5内置模块之time与datetime模块用法实例分析

Python3.5内置模块之time与datetime模块用法实例分析

(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)几种表示时间的相互转化

Python3.5内置模块之time与datetime模块用法实例分析

Python3.5内置模块之time与datetime模块用法实例分析

#!/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.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python海龟绘图实例教程
Jul 24 Python
Python的另外几种语言实现
Jan 29 Python
python3 实现的人人影视网站自动签到
Jun 19 Python
Python的装饰器用法学习笔记
Jun 24 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
python将字典内容存入mysql实例代码
Jan 18 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
python获取程序执行文件路径的方法(推荐)
Apr 26 Python
python调用百度REST API实现语音识别
Aug 30 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 #Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
Apr 27 #Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 #Python
python游戏开发之视频转彩色字符动画
Apr 26 #Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 #Python
python使用参数对嵌套字典进行取值的方法
Apr 26 #Python
python将视频转换为全字符视频
Apr 26 #Python
You might like
测试您的 PHP 水平的题目
2007/05/30 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
分享一下Python数据分析常用的8款工具
2018/04/29 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python数据可视化图实现过程详解
2020/06/12 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
销售人员中英文自荐信
2013/09/22 职场文书
会计应聘求职信范文
2013/12/17 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
春节慰问信范文
2015/02/15 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
教师远程研修感悟
2015/11/18 职场文书