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抓取网页图片并放到指定文件夹
Apr 24 Python
python k-近邻算法实例分享
Jun 11 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
Django重设Admin密码过程解析
Feb 10 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
Feb 20 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
pytorch中的model=model.to(device)使用说明
May 24 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 Python
微信小程序调用python模型
Apr 21 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP 数组入门教程小结
2009/05/20 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
jquery动态添加option示例
2013/12/30 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
python生成器generator用法实例分析
2015/06/04 Python
浅谈Python基础之I/O模型
2017/05/11 Python
Python 面试中 8 个必考问题
2018/11/16 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
介绍下WebSphere的安全性
2013/01/31 面试题
个人求职简历的自我评价
2013/10/19 职场文书
机械专业毕业生推荐信范文
2013/11/25 职场文书
离婚案件答辩状
2015/05/22 职场文书
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技