目录
01 获取当前时间戳
02 获取当前的结构化时间
03 获取当前的格式化时间
04 相互转化的思维图
05 时间戳与结构化时间的相互转化
06 结构化时间与格式化时间的相互转化
07 了解知识点
时间戳: 格林威治时间1970年01月01日00时00分00秒 (北京时间1970年01月01日08时00分00秒)起至现在的总秒数
import time
timestamp = time.time()
import time
struct_time = time.localtime()
方法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
也许它对于接下来的时间格式相互转化会有帮助
时间戳(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) # 传入结构化时间
结构化时间(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给定前面格式化时间的格式
时间戳直接转化为格式化时间(格式固定为 %Y-%m-%d %H:%M:%S 无法自定义)
import datetime
import time
timestamp = time.time()
format_time = datetime.datetime.fromtimestamp(timestamp) # 传入时间戳