python 时间模块 time datetime calendar

举报
清风Python 发表于 2018/04/25 10:24:22 2018/04/25
【摘要】 学而时习之,不亦悦乎。经常的复习下之前的知识,不仅加深、巩固记忆,还能在复习的同时,查漏补缺。 今天针对python库自带的三个时间模块进行复习。。。。time模块time模块提供各种操作时间的函数由于time模块是python自带的,所以只需要简单的import time就ok了获取时间戳time.time()函数可以用来获取当前时间的时间戳。即自1970-01-01开始的格林威治标准时间...

学而时习之,不亦悦乎。经常的复习下之前的知识,不仅加深、巩固记忆,还能在复习的同时,查漏补缺。 
今天针对python库自带的三个时间模块进行复习。。。。

time模块

time模块提供各种操作时间的函数

由于time模块是python自带的,所以只需要简单的import time就ok了

获取时间戳

time.time()函数可以用来获取当前时间的时间戳。即自1970-01-01开始的格林威治标准时间 
这里需要解释两点 
1.why 1970-01-01?

这个时间是以UNIX诞生时间,unix认为1970年1月1日0点是时间纪 元,其他编程语言的时间戳也是这么使用的 
格林威治时间即为0时区时间,中学地理肯定学过本初子午线吧,哈哈…. 
好了返回正题

t=time.time()
print(t)# 1519818341.5785086# 简单的计算一下year=t / (24*60*60*365) +1970# 2018.1931234645647 # 得到当前年份1234567
获取时间元组

使用localtime函数即可得到一个元组结构化的时间格式

t1=time.localtime()
print(t1)# time.struct_time(tm_year=2018, tm_mon=2, tm_mday=28, tm_hour=19, tm_min=45, tm_sec= 41, tm_yday=59 tm_isdst=0)123

如果你给定一个时间戳,也可以通过localtime将时间戳转化为时间元组随便写一个时间 
tt=time.localtime(1513810287.1759758)

格式化时间

1.将时间戳格式化

result=time.ctime(t)
print(result)# Wed Feb 28 19:49:33 2018123

2.将时间元组格式化

result=time.asctime(time.localtime())
print(result)12

3.格式化日期字符串

result=time.strftime(“%Y-%m-%d %H:%M:%S”,time.localtime())
print(result)12
时间元组格式化为时间戳

t3=time.mktime(time.localtime())

时间字符串转化为
pt=time.strtime(‘18-02-28 19:53:23’,’%y-%m-%d %H:%M:%S’)
print(pt)12
耗时计算
start=time.clock()for i in range(1000):
    print(i)
end=time.colock() 
print(end-start)12345
时间等待

time.sleep(3) 
这个没啥讲的了。。。

日历模块

打印文本日历,算是时间模块的一种,但是坦白说,貌似没什么卵用….

import calendar
print(calendar.month(2018-2))12

datetime模块

datetime模块包含三个子类,datetime date time。它主要用来处理时间,使用前先倒入datetime模块 
import datetime

显示当前时间
print(datetime.datetime.now())orprint(datetime.datetime.today())123

那么显示当前时间的年、月、日等改怎么操作呢?很简单

print(datetime.datetime.now().year)
print(datetime.datetime.now().day)12
当前时间tuple

dateime.datetime.now().timetuple()

显示当前日期

datetime.datetime.now().date()

计算N天后的时间
today=datetime.datetime.today()
future=today+datetime.timedelta(days=7)
print(future)123
计算时间差
first=datetime.datetime(2017,9,9,12,1,03)
second=datetime.datetime(2018,2,28,19,20,11)
delta=second-first
print(delta)# 172 days ,7:19:08print(delta.tatal_seconds())14887148.01234567
时间转化

datetime转str: 
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") 
str格式转化为datetime格式: 
datetime.datetime.strptime("2018-02-20 11:50:20" , "%Y-%m-%d %H:%M:%S") 
时间戳转datetime

datetime.datetime.fromtimestamp(1519826222)# datetime.datetime(2018,2,28,21,57,2)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。