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脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
由Python编写的MySQL管理工具代码实例
Apr 09 Python
django的settings中设置中文支持的实现
Apr 28 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
用Python写一个自动木马程序
Sep 17 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 Python
python3 字符串str和bytes相互转换
Mar 23 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
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
告诉你什么是javascript的回调函数
2014/09/04 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
python之import机制详解
2014/07/03 Python
python的keyword模块用法实例分析
2015/06/30 Python
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python模块的加载讲解
2019/01/15 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
结束运行python的方法
2020/06/16 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
初中生学习生活的自我评价
2013/11/20 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
学校师德承诺书
2014/05/23 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫