Python指定日期格式函数详解

在日常的编程中,我们经常需要对日期进行格式化输出,以便于满足不同的需求。Python提供了丰富的日期处理函数和模块,其中就包括了指定日期格式的函数。本文将详细介绍Python中用于指定日期格式的函数,并通过代码示例来演示其使用方法。

1. 时间格式化函数strftime()

在Python中,可以使用strftime()函数来将日期对象格式化为指定的字符串形式。该函数的语法如下所示:

strftime(format)

其中,format是一个字符串,用于指定日期的输出格式。常用的格式化符号如下表所示:

符号 说明
%Y 年份,如:2021
%m 月份,如:01
%d 日期,如:31
%H 小时,24小时制,如:23
%M 分钟,如:59
%S 秒钟,如:59
%a 星期几的简写,如:Mon
%A 星期几的完整名称,如:Monday
%b 月份的简写,如:Jan
%B 月份的完整名称,如:January
%c 日期和时间的字符串表示,如:...
%p AM/PM的标识符,默认是AM

下面是一个使用strftime()函数的示例代码:

import datetime

now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间为:", formatted_date)

运行结果如下:

当前时间为:2021-01-01 12:30:45

2. 时间解析函数strptime()

strptime()函数的作用与strftime()函数相反,它用于将字符串形式的日期解析为日期对象。该函数的语法如下所示:

datetime.strptime(date_string, format)

其中,date_string是一个字符串,表示要解析的日期;format是一个字符串,用于指定日期的输入格式。

下面是一个使用strptime()函数的示例代码:

import datetime

date_string = "2021-01-01 12:30:45"
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("解析后的日期为:", date_object)

运行结果如下:

解析后的日期为: 2021-01-01 12:30:45

3. 时间格式化字符串的其他用法

除了上述常用的格式化符号外,strftime()函数还支持其他一些用法,下面列举几个常用的示例:

  • %y:两位数的年份表示(00-99)
  • %j:一年中的第几天(001-366)
  • %U:一年中的第几周(00-53),以周日为一周的第一天
  • %w:星期几的表示(0-6),其中0表示周日
  • %Z:时区的名称(如果没有时区信息,则为空字符串)

下面是一个综合使用了上述格式化符号的示例代码:

import datetime

now = datetime.datetime.now()

# 格式化日期和时间
formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")
print("当前日期和时间为:", formatted_datetime)

# 格式化日期
formatted_date = now.strftime("%Y年%m月%d日")
print("当前日期为:", formatted_date)

# 格式化时间
formatted_time = now.strftime("%H时%M分%S秒")
print("当前时间为:", formatted_time)

# 获取一年中的第几天
day_of_year = now.strftime("%j")
print("今天是一年中的第", day_of_year, "天")

# 获取一年中的第几周
week_of_year = now.strftime("%U")
print("今天是一年中的第", week_of_year, "周")

# 获取星期几
weekday = now.strftime("%A")
print("今天是", weekday)

运行结果如下:

当前日期和时间为:2021-01-01 12:30:45
当前日期为: