<Python一下>Time操作

UTC & Local

time 是python的一个模块,其中又有一个同名函数time,返回当前到所谓epoch,即1970.1.1的秒数,不过与Unix不太一样的是,这厮返回的是一个精确度更高的浮点数

说time操作之前,必须说UTC

  • UTCUniversal Time Coordinated,传说中的世界调整时间,全世界的时间都统一到UTC来。前身就是GMT(Greenwich Mean Time,小时候地理教的格林威治时间便是啦)

time.gmtime([secs]):gm就是greenwich mean的意思,所以函数把指定秒数转换成UTC

time.localtime([secs]):本地时间,顾名思义就是时区相关的,而非UTC

以上两者都是返回time.struct_time对象的

import time
# 先来看时区信息
>>>time.tzname
('CST', 'CST') 

CST表示 China Standard Time,tuple的第二个元素表示夏令时下的时区信息,你说什么夏令时是什么鬼啊?自己google去,反正咱天朝没用。

>>>secs = time.time()
>>>secs
1425886401.555671   # 看到好多小数位了吧
>>>time.gmtime(secs)
time.struct_time(tm_year=2015, tm_mon=3, tm_mday=9, tm_hour=7, tm_min=33, tm_sec=21, tm_wday=0, tm_yday=68, tm_isdst=0)             #注意tm_hour是7
>>>time.localtime(secs)
time.struct_time(tm_year=2015, tm_mon=3, tm_mday=9, tm_hour=15, tm_min=33, tm_sec=21, tm_wday=0, tm_yday=68, tm_isdst=0)             #注意tm_hour是15

好了,不是很复杂的东西

time.mktime(tuple):t是一个time.struct_time对象(或者duck-type的符合要求的9-tuple)。是localtime的反操作,也就是说,tuple是被认为是local时间而非UTC 
calendar.timegm(tuple):类似mktime,不过是gmtime的反操作。

>>>local_t = time.localtime(secs)   # local_t是struct_time
>>>time.mktime(local_t)
1425886401.0    # 同样是小数,不过比time()返回的精确度低了
>>>import calendar
>>>gm_t = time.gmtime(secs)
>>>calendar.timegm(gm_t)
1425886401      # 不是小数了,果然不是同个模块的态度就是不一样

Time和字符串

前面的操作还是围绕time.struct_time。有时我们还是希望直接输出字符串的

time.strftime(format[, t])string from time,format是字符串格式,这就牵涉到一堆格式directive了,用到的时候查文档即可。而t一个time.struct_time,可由gmtime()localtime()返回

time.strptime(string[,format])strftime的反操作,将string以format格式转成一个struct_time并返回


每次python一下,记录一下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值