一文掌握python时间模块time、datetime和zoneinfo

在Python编程中,处理日期和时间是一项基本且频繁的任务。为了满足这一需求,Python提供了两个核心模块:timedatetime

一、time

1)、引入模块

首先,从引入time模块开始。

import time

2)、获取当前时间戳time.time()

时间戳表示自1970年1月1日00:00:00(UTC)以来的秒数。可以这样获取:

import time
current_timestamp = time.time()
print("当前时间戳:", current_timestamp)  # 当前时间戳: 1718592472.3103015

3)、获取时间元组time.localtime()

用于将时间戳(即从1970年1月1日 00:00:00 UTC 开始经过的秒数)转换为本地时间的 struct_time 对象。这个转换考虑了系统的时区设置,使得时间更加符合用户所在地的显示习惯。

import time

# 获取当前时间的时间戳
current_timestamp = time.time()

# 将时间戳转换为本地时间的struct_time对象
local_time = time.localtime(current_timestamp)

# struct_time对象包含以下元素:
# tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst
print("本地时间详情:", local_time)  # time.struct_time(tm_year=2024, tm_mon=6, tm_mday=17, tm_hour=10, tm_min=53, tm_sec=22, tm_wday=0, tm_yday=169, tm_isdst=0)

# 年
print("年:", local_time.tm_year)  # 年: 2024

# 月
print("月:", local_time.tm_mon)  # 月: 6

# 日
print("日:", local_time.tm_mday)  # 日: 17

# 同理,可使用local_time对象获取相应的其他属性

tm_year 表示年份,tm_mon 表示月份,tm_mday 表示日,tm_hourtm_mintm_sec 分别表示小时、分钟和秒。其他字段如 tm_wday 表示星期几(0表示周一),tm_yday 表示一年中的第几天,tm_isdst 表示夏令时标志(1表示夏令时,0表示非夏令时,-1表示不确定)。

4)、格式化时间输出

time 模块中的一个函数,用于将 struct_time 对象(或者可选地,直接使用时间戳)转换成一个表示时间的字符串。这个函数非常灵活,允许按照指定的格式字符串来格式化日期和时间。

        1、完整日期和24小时时间格式:
import time
current_timestamp = time.time()
# 获取当前时间的struct_time对象
local_time = time.localtime(current_timestamp)
# 定义时间格式
format_str = "%Y-%m-%d %H:%M:%S"
formatted_time = time.strftime(format_str, local_time)
print("格式化时间:", formatted_time)  # 格式化时间: 2024-06-17 10:48:26


# 格式化代码详解
# 在 format_str 中,可以使用一系列的格式化代码来定义输出字符串的布局。一些常用的格式化代码包括:

# %Y:四位数的年份,如2023。
# %m:月份,01到12。
# %d:一个月中的第几天,01到31。
# %H:小时(24小时制),00到23。
# %M:分钟,00到59。
# %S:秒,00到60(60可能出现在闰秒)。
# %a:星期的简写,如Mon。
# %A:星期的全称,如Monday。
# %b:月份的简写,如Jan。
# %B:月份的全称,如January。
# %j:一年中的第几天,001到366。
# %p:AM/PM标记(对于12小时制时间)。
# %I:12小时制的小时,01到12。
# %M:同分钟。
# %S:同秒。
        2、只显示日期(年月日):
import time
current_timestamp = time.time()
# 获取当前时间的struct_time对象
local_time = time.localtime(current_timestamp)
format_str = "%Y%m%d"
print(time.strftime(format_str, local_time))  # 20240617
        3、12小时时间格式加上上午/下午标记
import time
current_timestamp = time.time()
# 获取当前时间的struct_time对象
local_time = time.localtime(current_timestamp)
format_string = "%I:%M:%S %p"
print(time.strftime(format_string, local_time))  # 11:09:41 AM
        4、星期几的完整名称
import time
current_timestamp = time.time()
# 获取当前时间的struct_time对象
local_time 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值