欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python第十一章-常用的核心模块04-datetime模块

程序员文章站 2022-03-07 08:43:29
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 python 的一些内置常用核心模块 Python 常用的核心模块 四、datetime模块 模块是专门用来处理时间的标准库 ......

python 自称 "batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用.

本章主要介绍 python 的一些内置常用核心模块

python 常用的核心模块

四、datetime模块

datetime模块是专门用来处理时间的标准库模块.

模块名是datetime, 这个模块的内部定义多个类.


datetime模块下有个类datatime既可以操作日期, 也可以操作时间. 主要研究这个类

4.1获取当前日期和时间

# 导入 datetime 模块下的类 datetime
from datetime import datetime

# 调用 datetime 的类方法 now 获取当前日期和时间, 返回的是一个 datetime 对象
now = datetime.now()
print(now)
print(isinstance(now, datetime))

Python第十一章-常用的核心模块04-datetime模块


4.2指定日期和时间

使用类datetime创建对象, 可以传入指定的日期和时间

from datetime import datetime
# 年月日时分秒, 时分秒可选,默认都是0
that_time = datetime(2028, 10, 11, 12, 11, 20)

print(that_time)

传递值的时候不能超出范围, 否则会抛异常.

Python第十一章-常用的核心模块04-datetime模块


4.3 datetime的一些常用属性和方法

4.3.1.类属性

min: python 所能处理的最小日期和时间
max: python 所能处理的最大日期和时间

from datetime import datetime

print(datetime.max)
print(datetime.min)

Python第十一章-常用的核心模块04-datetime模块


4.3.2.实例属性(只读)

year, month, day, hour, minute, second, microsecond

microsecond:是微秒

from datetime import datetime

now = datetime.now()

msg = "现在是: %d 年 %d 月 %d 日 %d:%d:%d %d" \
      % (now.year, now.month, now.day,
         now.hour, now.minute, now.second,
         now.microsecond)

print(msg)

Python第十一章-常用的核心模块04-datetime模块


4.3.3.类方法

now(), today() 2 个方法都是返回当前日期和时间


4.3.4.实例方法

weekday():返回是星期几(0-6)
isoweekday():也是返回星期几(1-7)

from datetime import datetime

now = datetime.now()

print(now.weekday())
print(now.isoweekday())

Python第十一章-常用的核心模块04-datetime模块


4.4datetime支持的 + - 比较操作

datetime实例可以和一个timedelta对象进行 + -操作

timedelta表示日期和时间的一个变化量

from datetime import datetime, timedelta

now = datetime.now()

print(now)
# 表示3天后的时间
later = now + timedelta(days=3)
print(later)

# 表示3天前的时间
pre = now - timedelta(days=3)
print(pre)

# 两个日期进行比较大小
print(now > pre)
print(now < later)

Python第十一章-常用的核心模块04-datetime模块


4.5timestamp(时间戳)

在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 utc+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。

注意:python 的这里是用 s 来表示的, 别的语言大部分是 ms.

from datetime import datetime

now = datetime.now()

# 把日期和时间转成时间戳. 注意返回值是浮点数
print(now.timestamp())

# 把时间戳转换成 datetime

that_dt = datetime.fromtimestamp(2849839789)
print(that_dt)

Python第十一章-常用的核心模块04-datetime模块