您的位置:

Python strftime格式化日期时间

在Python编程中,处理日期和时间经常是必须的,可以使用Python提供的datetime库来处理日期时间,同时strftime方法可以将日期时间对象以一定格式输出,这个方法的使用非常灵活,在这篇文章中将详细介绍strftime的使用方法。

一、格式化日期时间的基础

在使用strftime方法时,需要掌握日期时间的格式,常用的格式如下:

%y    两位数的年份表示(00-99)
%Y    四位数的年份表示(000-9999)
%m    月份(01-12)
%d    月内中的一天(01-31)
%H    24小时制小时数(00-23)
%I    12小时制小时数(01-12)
%M    分钟数(00-59)
%S    秒(00-59)
%a    本地简化星期名称
%A    本地完整星期名称
%b    本地简化的月份名称
%B    本地完整的月份名称
%c    本地相应的日期表示和时间表示
%j    年内的一天(001-366)
%p    本地A.M.或P.M.的等价符
%U    一年中的星期数(00-53)星期天为星期的开始
%w    星期(0-6),星期天为星期的开始
%W    一年中的星期数(00-53)星期一为星期的开始
%x    本地相应的日期表示
%X    本地相应的时间表示
%Z    当前时区的名称
%%    %号本身

日期格式化示例:

import datetime

now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))  # 输出格式:'2019-01-01 12:00:00'

在上述示例中,通过datetime模块获取当前时间now,再通过strftime格式化输出时间。

二、掌握strftime常用技巧

1. 输出当前星期几

可以使用`%A`或`%a`输出当前日期的星期几,如下:

import datetime

now = datetime.datetime.now()
print(now.strftime("Today is %A"))  # 输出当前星期几,例如:'Today is Monday’

2. 输出时间戳

在Python中,时间戳是一个字符串或浮点数,它表示自1970年1月1日以来的秒数,可以使用`%s`输出时间戳:

import datetime

now = datetime.datetime.now()
print(now.strftime("timestamp: %s"))  # 输出当前时间戳,例如:'timestamp: 1568037396'

3. 输出带上下午的时间格式

可以使用`%p`输出当前时间的上午还是下午:

import datetime

now = datetime.datetime.now()
print(now.strftime("现在是 %p%I:%M:%S"))  # 输出带上下午的时间格式,例如:'现在是 下午07:43:16'

4. 输出某一地区当前时间格式

可以通过设置时区来输出某一地区的当前时间,可以使用`%Z`输出当前时区:

import datetime

now = datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=8)))  # 设置时区为北京时间
print(now.strftime("现在是北京时间:%Y-%m-%d %H:%M:%S %Z"))  # 输出某一地区当前时间格式,例如:'现在是北京时间:2022-02-21 23:24:45 CST'

三、总结

strftime可以输出多种日期时间格式,尤其常见于处理时间戳、时间应答、某一地区当前时间格式等,现在你可以从自己的需求出发,定制自己的strftime格式啦!