当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python datetime strftime()用法及代码示例


Python datetime.strftime() 方法

datetime.strftime() 方法用于操作模块 datetime 的 datetime 类的对象。

它接受类的一个实例并返回一个表示日期和时间的字符串,该字符串由显式格式字符串控制。

模块:

    import datetime

类:

    from datetime import datetime

用法:

    strftime(format)

参数:

  • format- 它是基于字符串表示和格式发生的字符串格式代码。例如,%Y%m%d等是格式代码。此方法将一个或多个格式代码作为参数,并基于此返回一个格式化的字符串。

下面给出了所有可用格式代码的列表:

指令意义示例
%一种缩写的工作日名称。周日、周一、...
%A完整的工作日名称。周日、周一、...
%w工作日为十进制数。0, 1, ..., 6
%d以 zero-padded 十进制表示的月份中的某天。01, 02, ..., 31
%-d以十进制数表示的月份中的第几天。1, 2, ..., 30
%b缩写的月份名称。一月、二月、...、十二月
%B完整的月份名称。一月,二月,...
%m月份为 zero-padded 十进制数。01, 02, ..., 12
%-m月份为十进制数。1, 2, ..., 12
%y没有世纪的年份作为 zero-padded 十进制数。00, 01, ..., 99
%-y没有世纪的年份作为十进制数。0,1, 2, ‌ , 99
%Y以世纪为十进制数的年份。2020年、2019年等
%H小时(24 小时制)作为 zero-padded 十进制数。00, 01, ..., 23
%-H小时(24 小时制)作为十进制数。0, 1, 2, ..., 23
%我小时(12 小时制)作为 zero-padded 十进制数。01, 02, ..., 12
%-我小时(12 小时制)作为十进制数。1,2,.., 12
%p当地上午或下午。上午、下午
%M分钟作为 zero-padded 十进制数。00, 01, ..., 59
%-M分钟作为十进制数。0, 1, ..., 59
%S第二个是 zero-padded 十进制数。00, 01, ..., 59
%-S第二个是十进制数。0, 1, ..., 59
%F微秒为十进制数,左侧为zero-padded。000000 - 999999
%z+HHMM 或 -HHMM 形式的 UTC 偏移量。不适用
%Z时区名称。不适用
%j以 zero-padded 十进制数表示的一年中的某一天。001, 002, ..., 366
%-j以十进制数表示的一年中的第几天。1, 2, ..., 366
%C适当的本地日期和时间表示2020 年 10 月 27 日星期三 01:04:15
%X适当的本地日期表示。13 年 9 月 30 日
%X适当的本地时间表示。09:07:06
%U一年中的周数,以星期日为一周的第一天00, 01, ..., 53
%W一年中的周数,以星期一为一周的第一天00, 01, ..., 53

返回值:

该方法的返回类型是根据格式码转换的字符串。

例:

## Python program explaining the 
## use of strftime() method in datetime class

from datetime import datetime
import pytz

## Creating an instance
x = datetime.now()
timezone = pytz.timezone("Asia/Kolkata")
## Adding timezone information in datetime object
x = x.astimezone(timezone)
c = x.strftime("%c")
print("Date and time representation using strftime:", c)
print()

##You can extract information using these methods
print("Abbreviated weekday name:", x.strftime("%a"))
print("Full weekday name:", x.strftime("%A"))
print("Weekday as a decimal number:", x.strftime("%w"))
print("Day of the month as a zero-padded decimal:", x.strftime("%d"))
print("Full month name:", x.strftime("%B"))
print("Month as a decimal number:", x.strftime("%-m"))
print("Year with century as a decimal number:", x.strftime("%Y"))
print("What day of the year is it?", x.strftime("%-j"))
print("What is the week number of this day?", x.strftime("%U"))##or x.strftime("%W")
print("What is the name of the timezone given", x.strftime("%Z"))
print("Is it AM or PM", x.strftime("%p"))
print("Time ahead of UTC time by:", x.strftime("%z"))
print()

## Different ways of representing the Date as a date string
print("Output 1:date:", x.strftime("%d/%m/%Y"))
print("Output 2:time:", x.strftime("%H:%M:%S:%f"))
print("Output 3:time with timezone:", x.strftime("%H:%M:%S:%f %z"))
print("Output 4:date with day:", x.strftime("%a %d/%B/%Y"))
print("Output 5:", x.strftime("%A, %Y/%m/%d, %H:%M:%S:%f %Z"))
print("Output 6:", x.strftime("%x"))
print("Output 7:", x.strftime("%X"))
## You can create any combination of the date and time 
## representation you want

输出

Date and time representation using strftime:Sun May  3 23:08:28 2020

Abbreviated weekday name:Sun
Full weekday name:Sunday
Weekday as a decimal number:0
Day of the month as a zero-padded decimal:03
Full month name:May
Month as a decimal number:5
Year with century as a decimal number:2020
What day of the year is it? 124
What is the week number of this day? 18
What is the name of the timezone given IST
Is it AM or PM PM
Time ahead of UTC time by:+0530

Output 1:date:03/05/2020
Output 2:time:23:08:28:024355
Output 3:time with timezone:23:08:28:024355 +0530
Output 4:date with day: Sun 03/May/2020
Output 5:Sunday, 2020/05/03, 23:08:28:024355 IST
Output 6:05/03/20
Output 7:23:08:28


相关用法


注:本文由纯净天空筛选整理自 Python datetime strftime() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。