Python获取与格式化当前时间日期的完整指南

Ada
Ada
发布时间:2026-10-13 | 5人浏览过
原创

本文详细介绍Python中获取当前时间及格式化时间日期的多种方法。通过time模块的time()、localtime()和strftime()函数,可将时间戳转换为结构化时间或指定格式的字符串。同时利用calendar模块生成指定月份的日历视图,帮助开发者灵活处理时间数据。

Python获取当前时间的方法

在Python编程中,获取并格式化当前时间与日期是常见需求。

Python提供了多种方式来获取当前时间。

可以使用time.time()函数获取自1970年1月1日以来的秒数(浮点数),随后将该数值传递给time.localtime()函数,从而获取当前的本地时间信息。


#使用 time.localtime(time.time())
import time
times = time.time()
print(times) # 表示自 1970 年 1月 1 日 过去了多久
# 1581305612.0510154 
localtime = time.localtime(times)
print(localtime)
# time.struct_time(tm_year=2020, tm_mon=2, tm_mday=10, tm_hour=11,
# tm_min=33, tm_sec=32, tm_wday=0, tm_yday=41, tm_isdst=0)

# 2020年2月10日11时33分32秒 周一 这一年的第 41 天 非夏令时

获取格式化时间的流程

获取格式化后的时间字符串是另一种常用操作。

具体流程为:首先通过time.time()获取自1970年1月1日以来的秒数,接着使用time.localtime()将其转换为当前时间的结构化时间对象,最后通过time.asctime()将该对象格式化为可读的时间字符串。


#获取格式化时间
import time
times = time.time()
print(times)
# 1581306786.3478658

local_times = time.localtime(times)
print(local_times)
# time.struct_time(tm_year=2020, tm_mon=2, tm_mday=10, tm_hour=11,
# tm_min=53, tm_sec=6, tm_wday=0, tm_yday=41, tm_isdst=0)

# 使用 asctime 将得到的 local_times 转化为有格式的时间
local_time_asctimes = time.asctime(local_times)
print(local_time_asctimes)
# Mon Feb 10 11:53:06 2020

格式化日期的参数详解

对于格式化日期的具体符号含义,需掌握以下参数:

%y:表示两位数的年份(范围00~99)。

%Y:表示四位数的年份(范围000~9999)。

%m:表示月份,范围01~12。

%d:表示月份中的具体某一天,范围0~31。

%H:表示小时,采用24小时制,范围0~23。

%I:表示小时,采用12小时制,范围01~12。

%M:表示分钟,范围0~59。

%S:表示秒,范围00~59。

%a:表示星期的英文简称(如Mon)。

%A:表示星期的完整英文名称(如Monday)。

%b:表示月份的英文简称(如Jan)。

%B:表示月份的完整英文名称(如January)。

%c:表示本地相应的日期和时间表示形式。

%j:表示一年中的第几天,范围001~366。

%p:表示本地A.M.或P.M.的等价符号。

%U:表示一年中的星期数(00~53),注意此处以星期天作为星期的开始。

%w:表示星期几的数字(0~6),注意此处以星期天作为星期的开始。

%W:表示一年中的星期数(00~53),注意此处以星期一作为星期的开始。

%x:表示本地相应的日期表示形式。

%X:表示本地相应的时间表示形式。

%Z:表示当前时区的名称。

%%:用于输出一个百分号%。

time.strftime(format[,t])函数用于根据指定的格式字符串将时间对象转换为字符串,其中format为日期格式参数。


# 格式化日期
# time.strftime(format[,t]) 参数为日期格式
import time
times = time.time()
local_time = time.localtime(times)

# Y 年 - m 月 - d 日 H 时 - M 分 - S 秒
print(time.strftime("%Y-%m-%d %H:%M:%S",local_time))
# 2020-02-10 12:07:55

# Y 年 - b 月份英文简称 - d 日期 - H 时 - M 分 - S 秒 - a 周几的英文简称
print(time.strftime("%Y %b %d %H:%M:%S %a",local_time))
# 2020 Feb 10 12:07:55 Mon

获取指定月份日历

除了时间处理,Python还可以用于获取某个月的日历信息。

使用calendar.month(year,month)函数可以获取指定年份和月份的日历。

该函数接收year和month两个参数,返回指定年月的日历字符串。


# 获取某月的日历
import calendar

cal = calendar.month(2020,2)
print("以下为2020年2月的日历")
print(cal)
#  February 2020
# Mo Tu We Th Fr Sa Su
#         1 2
# 3 4 5 6 7 8 9
# 10 11 12 13 14 15 16
# 17 18 19 20 21 22 23
# 24 25 26 27 28 29

以上介绍了Python中获取当前时间日期及其格式化方法,希望能为开发者提供实用参考。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表