📌  相关文章
📜  在Python中使用日期时间对象和时区(1)

📅  最后修改于: 2023-12-03 15:07:55.393000             🧑  作者: Mango

在Python中使用日期时间对象和时区

Python提供了强大的日期时间模块,可以轻松地操作日期时间对象和时区。在本文中,我们将介绍如何在Python中使用日期时间对象和时区。

日期时间对象

Python内置的datetime模块提供了date、time和datetime三种日期时间对象。

date对象

date对象代表一个日期。它有三个属性:year、month和day。

import datetime

d = datetime.date(2021, 10, 28)
print(d)

输出:

2021-10-28
time对象

time对象代表一个时间。它有五个属性:hour、minute、second、microsecond和tzinfo。

import datetime

t = datetime.time(13, 30, 0)
print(t)

输出:

13:30:00
datetime对象

datetime对象代表一个日期时间。它是date对象和time对象的结合体。

import datetime

dt = datetime.datetime(2021, 10, 28, 13, 30, 0)
print(dt)

输出:

2021-10-28 13:30:00
时区

时区是指地球上某个区域内使用的标准时间。Python中的datetime模块提供了tzinfo类来表示时区。

Python中有两种方式表示时区:

  • 固定偏移量时区(Fixed Offset Timezone)
  • Olson时区数据库(Olson Database Timezone)
固定偏移量时区

固定偏移量时区是指以UTC(协调世界时)为基准,通过加减固定的小时数或分钟数来得到特定时区的时间。

import datetime

dt = datetime.datetime(2021, 10, 28, 13, 30, 0, tzinfo=datetime.timezone(datetime.timedelta(hours=8)))
print(dt)

输出:

2021-10-28 13:30:00+08:00
Olson时区数据库

Olson时区数据库是用来存储世界各地时区信息的数据库。Python中的pytz模块提供了对Olson时区数据库的支持。

import datetime
import pytz

tz = pytz.timezone('Asia/Shanghai')
dt = datetime.datetime(2021, 10, 28, 13, 30, 0, tzinfo=tz)
print(dt)

输出:

2021-10-28 13:30:00+08:00
总结

Python提供了强大的日期时间模块,可以轻松地操作日期时间对象和时区。在使用时,要注意使用合适的时区表示方法,以保证时间的正确性。