01 获取当前时间戳
时间戳: 格林威治时间1970年01月01日00时00分00秒 (北京时间1970年01月01日08时00分00秒)起至现在的总秒数
import time timestamp = time.time()
02 获取当前的结构化时间
import time struct_time = time.localtime()
03 获取当前的格式化时间
方法1
import time format_time = time.strftime('%Y-%m-%d %H:%M:%S %p') # %Y、%m、%d...为特殊字符,表示年、月、日...
此为官方文档解释,括号内为翻译
%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].(时-24时)
%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.(linux的时间格式)
%I Hour (12-hour clock) as a decimal number [01,12].(时-12时)
%p Locale's equivalent of either AM or PM.(上午 or 下午)
(%x --> 时/分/秒)
上文亦可:
import time format_time = time.strftime('%Y-%m-%d %X %p') # 即 %X 等价于 %H:%M:%S 的格式
方法2 (格式无法自定义)
import datetime format_time = datetime.datetime.now() # 获取本地时间(东八区时间) # 了解:获取国际标准时间 format_utc_time = datetime.datetime.utctime()
格式恒定为: %Y-%m-%d %H:%M:%S
04 相互转化的思维图
也许它对于接下来的时间格式相互转化会有帮助
05 时间戳与结构化时间的相互转化
时间戳(timestamp) --> 结构化时间(struct_time)====>time.localtime(timestamp)
import time timestamp = 3333333 # 随意举个例子 struct_time = time.localtime(timestamp) # 假使不传参,默认传入time.time()即当前的时间戳
结构化时间(struct_time --> 时间戳(timestamp)====>time.mktime(struct_time)
import time struct_time = time.localtime() # 以当前的结构化时间举例 timestamp = time.mktime(struct_time) # 传入结构化时间
06 结构化时间与格式化时间的相互转化
结构化时间(struct_time) --> 格式化时间(format_time)====>time.strftime(format, struct_time)
import time struct_time = time.localtime() # 以当前结构化时间为例 format_time = time.strftime('%Y-%m-%d %H:%M:%S', struct_time) # 参数1格式自行确定, 参数二传入结构化时间,不传入则默认当前的结构化时间
格式化时间(format_time) --> 结构化时间(struct_time)====>time.strptime(format_time, format)
import time format_time = time.strftime('%Y-%m-%d') # 假定举例如此格式的格式化时间 struct_time = time.strptime(format_time, '%Y-%m-%d') # 参数1给定格式化时间,参数2给定前面格式化时间的格式
07 了解知识点
时间戳直接转化为格式化时间(格式固定为 %Y-%m-%d %H:%M:%S 无法自定义)
import datetime import time timestamp = time.time() format_time = datetime.datetime.fromtimestamp(timestamp) # 传入时间戳