【datetime】Python日期时间处理模块

2018-07-14  本文已影响0人  王南北丶

本文地址:https://www.jianshu.com/p/c48012bc2905

简介

在Python的时间处理模块中,time这个模块主要侧重于时间戳格式的处理,而datetime则相当于time模块的高级封装,提供了更多关于日期处理的方法。

并且datetime的接口使用起来更加的直观,方便。


结构

datetime主要由五个模块组成:

datetime中,使用的最多的就是datetime.datetime模块,而datetime.timedelta常常被用来修改时间。

最后,datetime的时间显示是与时区有关系的,所以还有一个处理时区信息的模块datetime.tzinfo


datetime.datetime

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

这是datetime.datetime参数的取值范围,如果设定的值超过这个范围,那么就会抛出ValueError异常。

其中yearmonthday是必须参数。

In [1]: import datetime

In [2]: datetime.datetime(year=2000, month=1, day=1, hour=12)
Out[2]: datetime.datetime(2000, 1, 1, 12, 0)

类方法 Classmethod

这些方法大多数用来生成一个datetime对象。

实例方法 instance method

这些方法大多是一个datetime对象能进行的操作。


datetime.timedelta

在实际的使用中,我们常常会遇到这样的需求:需要给某个时间增加或减少一天,甚至是增加或减少一天三小时二十分钟。

那么在遇到这样的需求时,去计算时间戳是非常的麻烦的,所以datetime.timedelta这个模块使我们能够非常方便的对时间做加减。

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

datetime是对某些运算符进行了重载的,所以我们可以如下操作。

In [1]: from datetime import timedelta

In [2]: now
Out[2]: datetime.datetime(2018, 7, 2, 15, 26, 45, 116239)

In [3]: now - timedelta(days=1)
Out[3]: datetime.datetime(2018, 7, 1, 15, 26, 45, 116239)

In [4]: now + timedelta(days=1)
Out[4]: datetime.datetime(2018, 7, 3, 15, 26, 45, 116239)

In [5]: now + timedelta(days=-1)
Out[5]: datetime.datetime(2018, 7, 1, 15, 26, 45, 116239)

strftime() 和 strptime()

datetime中提供了两个方法,可以方便的把datetime对象转换成格式化的字符串或者把字符串转换成datetime对象。

以下是格式化的符号:

上一篇 下一篇

猜你喜欢

热点阅读