欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

时间模块-time

程序员文章站 2024-01-21 23:22:28
...
前言:

Python中对时间进行处理的常用模块有两个:time和datetime!
两者有什么区别?
可以这么认为,datetime是time的豪华加强版,但datetime不是time的进一步封装,同时datetime比time更具平台普适性!
calendar类是处理日历的,就是像墙上挂着的月历那样的格式,这里不说了,目前用的比较少!


一.time模块中时间有哪三种形式?

1. 时间戳:1502186697.249147

time中有哪几种方法能得到?

两种

import time
time.time() #返回的是现在这个时间的时间戳
time.mktime(struct_time) # 返回的是struct_time这个时间元组所代表的时间戳 ,必须带参数

2. 时间元组:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=18, tm_min=4, tm_sec=57, tm_wday=1, tm_yday=220, tm_isdst=0)

time中有哪几种方法能得到?

三种

import time
time.localtime(secs) # 常用! 返回的是secs这个时间戳代表的本地(东八区)时间元组
time.gmtime(secs)  # 返回的是secs这个时间戳的utc时间元组(与本地少8个小时)
time.strptime(time_string, format)  #将time_string这个时间字符串转换为时间元组

前两个方法若不带参数,则默认的参数就是此时这个时间度的时间戳
strptime()方法中的format是时间格式,在这个方法中必须强制按照time_string提供的格式来,来告诉time模块要转换的时间字符串是什么样的格式,以便转换

3. 时间字符串:2017-08-08 18:04:57 Tuesday

time中有哪几种方法能得到?

三种

time.ctime(secs)  # 返回的是secs这个时间戳代表的时间字符串,字符串格式是固定的
time.asctime(struct_time) # 返回的是struct_time这个时间元组代表的时间字符串,字符串格式固定
time.strftime(format, struct_time) # 返回的是将时间元组经过"格式"后的时间字符串

上述方法中第一,二个参数默认值是此时的一个时间刻度;
第三个方法中,format是必须有的,struct_time默认值是此时的时间刻度的一个时间元组

二.time模块中时间的三种形式之间的转换:

1.说明:

时间戳能和时间元组之间相互转换,且不用在意格式;
时间元组和时间字符串之间能相互转换,可以变更时间字符串的格式;
时间字符串不能直接转换为时间戳;
时间戳能够转换为时间字符串,但时间字符串的格式不能变更

2.三种形式之间转化的桥梁-时间元组(由两边到中间):

最优的转换方法,就是先将各种形式的时间先转换为时间元组,再进行变更

  • 时间戳--->时间元组:
    time.localtime(secs)
  • 时间字符串--->时间元组:
    time.strptime(time_string, format) # 注:format的格式是必须跟随time_string的格式

3.时间元组转换为时间戳或时间字符串(由中间到两边):

  • 时间元组--->时间戳:
    time.mktime(struct_time)
  • 时间元组--->时间字符串:
    time.strftime(format, struct_time)

注:

time方法中,所有方法的调用对象都是time

转载于:https://www.jianshu.com/p/0cf933ca9bf8