在Python编程中,处理日期和时间是一项基本且频繁的任务。为了满足这一需求,Python提供了两个核心模块:time
和datetime
一、time
1)、引入模块
首先,从引入time
模块开始。
import time
2)、获取当前时间戳()
时间戳表示自1970年1月1日00:00:00(UTC)以来的秒数。可以这样获取:
import time
current_timestamp = ()
print("当前时间戳:", current_timestamp) # 当前时间戳: 1718592472.3103015
3)、获取时间元组()
用于将时间戳(即从1970年1月1日 00:00:00 UTC 开始经过的秒数)转换为本地时间的 struct_time
对象。这个转换考虑了系统的时区设置,使得时间更加符合用户所在地的显示习惯。
import time
# 获取当前时间的时间戳
current_timestamp = ()
# 将时间戳转换为本地时间的struct_time对象
local_time = (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_hour
、tm_min
和 tm_sec
分别表示小时、分钟和秒。其他字段如 tm_wday
表示星期几(0表示周一),tm_yday
表示一年中的第几天,tm_isdst
表示夏令时标志(1表示夏令时,0表示非夏令时,-1表示不确定)。
4)、格式化时间输出
time
模块中的一个函数,用于将 struct_time
对象(或者可选地,直接使用时间戳)转换成一个表示时间的字符串。这个函数非常灵活,允许按照指定的格式字符串来格式化日期和时间。
1、完整日期和24小时时间格式:
import time
current_timestamp = ()
# 获取当前时间的struct_time对象
local_time = (current_timestamp)
# 定义时间格式
format_str = "%Y-%m-%d %H:%M:%S"
formatted_time = (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 = ()
# 获取当前时间的struct_time对象
local_time = (current_timestamp)
format_str = "%Y%m%d"
print((format_str, local_time)) # 20240617
3、12小时时间格式加上上午/下午标记
import time
current_timestamp = ()
# 获取当前时间的struct_time对象
local_time = (current_timestamp)
format_string = "%I:%M:%S %p"
print((format_string, local_time)) # 11:09:41 AM
4、星期几的完整名称
import time
current_timestamp = ()
# 获取当前时间的struct_time对象
local_time