python datetime_python中的datetime模块

参考自python3.6官方文档,无脑翻译,仅供参考。

datetime对象

datetime对象是一个包含了date对象和time对象所有信息的独立对象。和date对象一样,datetime假定当前格林尼治时间想两侧延伸,也像time对象一样,datetime对象假定一天有3600 * 24秒。

datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

year,month,day为必须参数。

tzinfo可以为None,也可以是tzinfo子类的实例。

其余为整数。

各项取值范围,如图:

6d553729f4f2

image.png

如果任意一个参数在给定的取值范围之外,会引发ValueError异常。

备注:fold参数为python 3.6新添加的参数。至于fold参数啥意思,干啥的,我也不知道,因为文档里没写。

类方法(classmethod)

datetime.today()

返回不包含时区信息的当前时间。这等价于datetime.fromtimestamp(time.time())

from datetime import datetime

import time

# datetime.today()

dt1 = datetime.today()

print(dt1, type(dt1))

dt2 = datetime.fromtimestamp(time.time())

print(dt2, type(dt2))

6d553729f4f2

image.png

datetime.now(tz=None)

返回当前当地日期和时间,如果可选参数tz为None或者没被指定,就和today()函数效果一样。

但是,应该尽可能的提供更多信息,反正比time.time()获得的时间戳更好。(例如,这可能在不同平台提供C语言的gettimeofday()方法)。

如果tz不为None,那它一定是tzinfo子类的实例,并且当前日期和时间会被转换为tz的时区。

备注:tzinfo是一个抽象类,无法被直接实例化,你要想用的话必须新建一个类,并继承自tzinfo。

在说一句,tzinfo位于datetime.tzinfo。

dt3 = datetime.now()

print(dt3, type(dt3))

6d553729f4f2

image.png

datetime.utcnow()

返回没有时区的当前UTC日期和时间。和now()一样,但是作为一个理想时间(naive datetime)对象返回当前UTC日期和时间。

意识到当前UTC时间能被datetime.now(timezone.utc)遵守。

dt5 = datetime.now(timezone.utc)

print(dt5, type(dt5))

6d553729f4f2

image.png

datetime.fromtimestamp(timestamp, tz=None)

根据POSIX时间戳返回当地日期和时间,例如通过time.time()返回时间戳(也叫Unix时间戳)。

如果可选参数tz是None或者没有指定,时间戳被转换为操作系统的本地日期和时间,并返回的是理想时间的datetime。

如果tz不为None,那么它必须是tzinfo的子类的实例,并且时间戳被转换为tz的时区。

在这种情况下,结果等同于tz.fromutc(datetime.utcfromtimestamp(timestamp).replace(tzinfo=tz))。

fromtimestamp()可能会已发OverflowError异常,如果timestamp超过了当前操作系统的C语言的localtime()函数 或 gmtime()函数所支持的值,则会引发OSError异常。

timestamp = time.time()

datetime_from_timestamp = datetime.fromtimestamp(timestamp)

print(datetime_from_timestamp, type(datetime_from_timestamp))

6d553729f4f2

image.png

datetime.utcfromtimestamp(timestamp)

根据POSIX时间戳返回没有时区信息的UTC datetime。有可能会引发OverflowError,当timestamp超过了当前操作系统的C函数gmtime()所支持的值时。

C函数gmtime()失败时,则会引发OSError异常。

dt5 = datetime.utcfromtimestamp(timestamp)

print(dt5, type(dt5))

6d553729f4f2

image.png

datetime.strptime(date_string, format)

根据date_string返回一个datetime对象,转换时依据format。这等同于datetime(*(time.strptime(date_string, format)[0:6]))

不写了,回家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值