Menu Close

Python 时间格式化

在Python中,提供了许多函数来处理日期,时间和时间间隔。Python中的日期和日期时间是对象,因此,在操作它们时,实际上是在操作对象,而不是字符串或时间戳。每当您操纵日期或时间时,都需要导入datetime函数。

Python中的datetime类分为5个主要类。

  • date–月,日,年
  • time–小时,分钟,秒,微秒
  • datetime –时间和日期的组合(月,日,年,小时,秒,微秒)
  • timedelta-用于操作日期的时间长度
  • tzinfo-处理时区的抽象类

在本教程中,我们将学习-

  • 如何使用日期和时间类
  • 使用date.today打印日期
  • Python当前日期和时间:now()    today()
  • 如何使用Strftime()格式化日期和时间输出
  • 如何使用Timedelta对象

如何使用日期和日期时间类

在Python中运行日期时间格式的代码之前,请务必导入Python日期时间模块,如下面的屏幕截图所示,这一点很重要。

%title插图%num

这些import语句是Python库中预定义的功能,可让您无需编写任何代码即可操纵日期和时间。

例子:

from datetime import date
print("今天是", date.today())
print("今天是星期", date.today().isoweekday())

输出:

今天是 2021-03-10
今天是星期 3

使用Strftime()格式化日期和时间输出

到目前为止,我们已经了解了如何在Python中使用datetime和date对象。我们将进一步前进,并学习如何使用格式化功能来格式化时间和日期。

strftime()语法:

time.strftime(format[, t])

参数

  • format — 格式字符串。
  • t — 可选的参数t是一个struct_time对象。

返回值

返回以可读字符串表示的当地时间。

说明

python中时间日期格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-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 当前时区的名称
  • %% %号本身
示例:
from datetime import datetime


now = datetime.now() # current date and time

year = now.strftime("%Y")
print("year:", year)

month = now.strftime("%m")
print("month:", month)

day = now.strftime("%d")
print("day:", day)

time = now.strftime("%H:%M:%S")
print("time:", time)

date_time = now.strftime("%Y-%m-%d, %H:%M:%S")
print("date and time:",date_time)

Python Timedelta

Python中的Timedelta是代表持续时间的对象。它主要用于计算两个日期和时间之间的持续时间。它也用于检索具有某些增量日期和时间的对象。timedelta对象支持数学运算,例如加法,减法,乘法,除法等。

如何使用Timedelta对象

使用Python timedelta对象,您可以估算未来和过去的时间。换句话说,预测任何特殊的日期,日期或时间都是一个时间跨度。

注意,此功能不是用于打印时间或日期,而是用于计算未来或过去的内容。让我们看一个Python timedelta示例,以更好地理解它。

from datetime import datetime, timedelta
data_els = []
today_ele =datetime.now().date()
data_els.append(['今天', datetime.now().date()])
data_els.append(['昨天', today_ele - timedelta(days=1)])
data_els.append(['近7天', today_ele - timedelta(days=7)])
data_els.append(['近30天', today_ele - timedelta(days=7)])
selected = " "
for item in data_els:
    print(item[0],"是", item[1])

python系列教程目录

Posted in Python

发表评论

相关链接