python datetime 内建模块

本文介绍Python标准库datetime的使用方法,包括获取当前时间、构造指定日期时间、时间戳转换、字符串与时间相互转换及时间计算等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中处理时间和日期的标准库是datetime

1. 获取当前时间

  1. 首先导入模块:from datetime import datetime
  2. 获取当前时间:now=datetime.now()
  3. 打印:print(now)

2. 获取指定日期和时间

直接用参数构造一个时间:

from datetime import datetime
dt=datetime(2017,12,08,10,01)
print(dt)

3. 时间转换为时间戳

timestamp是相当于epoch time的秒数。
epoch time是1970年1月1日 00:00:00 UTC+00:00时区的时刻,记为0(1970年以前的时间timestamp为负数),timestamp的值与时区毫无关系,因为timestamp一旦确定,其UTC(世界统一时间)就确定了。
将时间转换为timestamp:

>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> dt.timestamp() # 把datetime转换为timestamp
1429417200.0

4.timestamp转换为datatime(datetime.fromtimestamp())

>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t))
2015-04-19 12:20:00

如果将timestamp转换为UTC时间:(本地时间=UTC+时区差)

>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t)) # 本地时间
2015-04-19 12:20:00
>>> print(datetime.utcfromtimestamp(t)) # UTC时间
2015-04-19 04:20:00

4. str转换为时区时间

用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串

>>> str_time='2017:12:13 19:17'
>>> print(datetime.strptime(str_time,"%Y:%m:%d %H:%M"))
2017-12-13 19:17:00

5. 时区时间转换为str–strftime()

已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:

>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28

6. 计算时间

now +/- timedelta(year=*,hour=*,...)参数选填
需要导入timedelta这个类

>>> from datetime import timedelta
>>> now=datetime.now()
>>> now
datetime.datetime(2017, 12, 13, 19, 26, 24, 561237)
>>> now+timedelta(hours=10)
datetime.datetime(2017, 12, 14, 5, 26, 24, 561237)
  1. 本地时间转换为带有时区的时间
    datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。

如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值