GMT:格林尼治时间,是世界时和地球经线的起点。
UTC:通用协调时,一般可以当成GMT一样的使用
时间戳:当前的时间到1970年1月1日 8:00的秒数,即这个起点为0,当前到起点所经过的秒数,就是时间戳
python获取时间戳time.time()
import time
t = time.time()
print("时间戳:", t) #单位为秒,后边最多有7位小数
时间戳: 1583042564.0553885
python获取时间元组time.localtime()
一般,我们比较直接用时间元组来表示时间,但它却在时间戳转换过程中,经常用到
import time
struct_time = time.localtime()
print("时间元组:\n", struct_time)
时间元组:
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=1, tm_hour=14, tm_min=4, tm_sec=27, tm_wday=6, tm_yday=61, tm_isdst=0)
时间元组说明:
python格式化时间元组,转为字符串
直接使用time.strftime(format),就可以获取当前格式化的时间,当然也可以写成time.strftime(format, time.localtime()),二者是一个结果。返回的结果是字符串类型。
import time
time.strftime("%Y-%m-%d %H:%M:%S")
# 或者 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
'2020-03-01 14:10:09'
格式化所表示的意思:
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
几种常见的时间格式,因为返回的是字符串,有时可以通过列表索引的方式截取需要的部分:
2020-03-01 14:15:59
import time
time.strftime("%Y-%m-%d %H:%M:%S")
2020-03-01
import time
time.strftime("%Y-%m-%d")
2020/03/01
import time
time.strftime("%Y/%m/%d")
20200301
import time
time.strftime("%Y%m%d")
14:15:59
import time
time.strftime("%H:%M:%S")
141559
import time
time.strftime("%H%M%S")
Mar 01, 2020 Sun
import time
time.strftime("%b %d, %Y %a")
2020/03/01 Sun
import time
time.strftime("%Y/%m/%d %a")
2020年03月01日
import time
time.strftime("%Y{y}%m{m}%d{d}").format(y="年", m="月", d="日")
02:38:42 PM
import time
time.strftime("%I:%M:%S %p")
python时间戳转换为字符串日期格式
获取30天前的日期时间:根据当前时间戳,减去30天的秒数,获得30天前的时间戳,使用time.localtime()转换为时间元组,通过time.strftime(),格式化为时间字符串。
import time
t = time.time() - 60*60*24*30
time_string = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t))
print(time_string)
2020-01-31 14:34:02