python导入datetime模块_Python3.5内置模块之time与datetime模块用法实例分析

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

1、模块的分类

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

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

c、自定义模块

2、内建模块——time

2019042710232411.png

2019042710232412.png

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

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

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

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

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

2019042710232413.png

2019042710232414.png

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

2019042710232515.png

2019042710232516.png

#!/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.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:http://tools.jb51.net/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:http://tools.jb51.net/code/unixtime

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

本文标题: Python3.5内置模块之time与datetime模块用法实例分析

本文地址: http://www.cppcns.com/jiaoben/python/257775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值