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的Django框架中TEMPLATES项的设置教程
May 29 Python
python脚本设置超时机制系统时间的方法
Feb 21 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
Apr 20 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
Python 2.7中文显示与处理方法
Jul 16 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
Spring实战之使用util:命名空间简化配置操作示例
Dec 09 Python
Python更换pip源方法过程解析
May 19 Python
使用Keras中的ImageDataGenerator进行批次读图方式
Jun 17 Python
能让Python提速超40倍的神器Cython详解
Jun 24 Python
Python实现照片卡通化
Dec 06 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
资料注册后发信小技巧
2006/10/09 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
分享php分页的功能模块
2015/06/16 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
Json解析的方法小结
2016/06/22 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
台湾旅游网站:灿星旅游
2018/10/11 全球购物
奖励申请报告范文
2015/05/15 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
清洁工工作总结
2015/08/11 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python