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))


4.2指定日期和时间

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

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

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


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

4.3.1.类属性

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

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

from datetime import datetime

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


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)


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())


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)


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模块的更多相关文章

  1. Python第十一章-常用的核心模块01-collections模块

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

  2. Python第十一章-常用的核心模块03-json模块

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

  3. Python之路(第十六篇)xml模块、datetime模块

    一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, xml比较早,早期许多软件都是用xml,至今很多传统公司如金融行业的很多系统的接口还主要 ...

  4. python time模块 sys模块 collections模块 random模块 os模块 序列化 datetime模块

    一 collections模块 collections模块在内置的数据类型,比如:int.str.list.dict等基础之上额外提供了几种数据类型. 参考博客 http://www.pythoner ...

  5. (转)python time模块和datetime模块详解

    python time模块和datetime模块详解 原文:http://www.cnblogs.com/tkqasn/p/6001134.html 一.time模块 time模块中时间表现的格式主要 ...

  6. Python学习笔记:time模块和datetime模块(时间和日期)

    time模块 time模块通常用来操作时间戳信息(各种“秒”),常用的方法有: time.sleep(seconds):将当前程序阻塞指定秒数,然后继续运行程序. time.time():返回当前时间 ...

  7. python中time模块和datetime模块

    time模块和datetime模块 时间分为三种模式(time 模块) 时间戳   (time.time()) 格式化字符串 (time.strftime(%Y-%m-%d %H:%M:%S %p)) ...

  8. Time模块和datetime模块

    Time模块和datetime模块 一. 调用 import time       #调用time模块 二.使用方法 1.time.time 拿到时间戳.以Linux诞生年份1970年开始计算到程序执 ...

  9. python time模块和datetime模块详解

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

随机推荐

  1. Matplotlib数据可视化(4):折线图与散点图

    In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParam ...

  2. opencv +数字识别

    现在很多场景需要使用的数字识别,比如银行卡识别,以及车牌识别等,在AI领域有很多图像识别算法,大多是居于opencv 或者谷歌开源的tesseract 识别. 由于公司业务需要,需要开发一个客户端程序 ...

  3. Java中文件上传路径与路径修改相关问题(tomcat8.0+eclipse)

    1.普通文件上传的路径: 通过getRealPath获取相关路径 String photoFolder =request.getServletContext().getRealPath("u ...

  4. 如何开发和发布一个Vue插件

    前言 Vue 项目开发过程中,经常用到插件,比如原生插件 vue-router.vuex,还有 element-ui 提供的 notify.message 等等.这些插件让我们的开发变得更简单更高效. ...

  5. VUE四 axios详解

    axios的中文文档写的已经很详细 https://www.kancloud.cn/yunye/axios/234845

  6. html5插件完成滚屏幕效果

    首先想要完成这样的效果要用到jquery-fullpage插件我们需要他的js文件和css样式文件如图  因为是jquery的插件所以我们还要导入jquery-min.js 在页面引入这些样式和插件 ...

  7. 编写程序实现输入x,y,判断属于第几象限。

    x = float(input("请输入横坐标:")) y = float(input("请输入纵坐标:")) if x > 0 and y > 0 ...

  8. Go组件学习:如何读取ini配置文件

    代码示例全部保存在,欢迎star:https://github.com/EnochZg/golang-examples 安装组件 go get gopkg.in/ini.v1 使用 先创建ini后缀的 ...

  9. openwrt 编译常用 luci 插件到固件中

    先更新安装 packages luci ./scripts/feeds update packages ./scripts/feeds install -a -p packages ./scripts ...

  10. JVM系列八(虚拟机性能监控命令).

    jps JVM Process Status Tool,显示指定系统内所有的 HotSpot 虚拟机进程.显示信息包括虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID(Local Virtual M ...