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

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

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...为特殊字符,表示年、月、日...


22cb938c41394d18a4fb44facfb7e792.png


此为官方文档解释,括号内为翻译


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


be99bc9a989949f1815b137ac14db7aa.png

目录
相关文章
|
2月前
|
存储 Unix C++
c++时间形式转换
【10月更文挑战第29天】在 C++ 中,时间形式转换主要涉及将时间在不同表示形式之间转换,如字符串与 `tm` 结构或 `time_t` 类型之间的转换。常用的基本时间类型包括 `time_t` 和 `tm` 结构,转换函数有 `strftime` 和 `strptime`,可以满足大多数时间处理需求。此外,还可以通过自定义类来扩展时间转换功能。
|
前端开发
如何将后端传的时间戳转化为年月日
如何将后端传的时间戳转化为年月日
78 0
|
JSON 小程序 JavaScript
小程序返回的时间戳转化成时间
小程序返回的时间戳转化成时间
54 0
时间戳转化成日期
时间戳转化成日期
74 0
|
物联网 API
业务逻辑中时间格式之间的转化
iot studio中使用业务逻辑转化常见的时间格式。
135 0
业务逻辑中时间格式之间的转化
封装时间戳转具体时间工具
封装时间戳转具体时间工具
152 0
封装时间戳转具体时间工具
|
JavaScript Kotlin
时间戳转化为时分秒格式
时间戳转化为时分秒格式
403 0
|
前端开发
前端工作小结61-时间戳转换
前端工作小结61-时间戳转换
110 0
时间戳与实践的转化(CIOTimer)
时间戳与实践的转化(CIOTimer)
143 0
时间戳与实践的转化(CIOTimer)