time模块: 时间戳、结构化时间、格式化时间的获取与相互转化

目录

01 获取当前时间戳 

02 获取当前的结构化时间

03 获取当前的格式化时间

 04 相互转化的思维图

05 时间戳与结构化时间的相互转化

06 结构化时间与格式化时间的相互转化

07 了解知识点


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()

time模块: 时间戳、结构化时间、格式化时间的获取与相互转化_第1张图片 

格式恒定为: %Y-%m-%d %H:%M:%S 

 04 相互转化的思维图

也许它对于接下来的时间格式相互转化会有帮助

time模块: 时间戳、结构化时间、格式化时间的获取与相互转化_第2张图片

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)  # 传入结构化时间

time模块: 时间戳、结构化时间、格式化时间的获取与相互转化_第3张图片 

 

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)  # 传入时间戳

time模块: 时间戳、结构化时间、格式化时间的获取与相互转化_第4张图片

 

你可能感兴趣的:(python进阶,python,开发语言,经验分享)