[Python] datetime 库的使用

这篇具有很好参考价值的文章主要介绍了[Python] datetime 库的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎶博客主页:程序喵正在路上 的博客主页
🦋欢迎关注🖱点赞👍收藏🌟留言🐾
🦄本文由 程序喵正在路上 原创,CSDN首发!
💖系列专栏:Python学习
🌠首发时间:2022年5月2日
✅如果觉得博主的文章还不错的话,希望小伙伴们三连支持一下哦

1. datetime 库概述

以不同格式显示日期和时间是程序中最常用到的功能。Python 提供了一个处理时间的标准函数库 datetime,它提供了一系列由简单到复杂的时间处理方法。datetime 库可以从系统中获得时间,并以用户选择的格式输出。

datetime 库以格林威治时间为基础,每天由 3600X24 秒精准定义。该库包括两个常量:datetime.MINYEARdatetime.MAXYEAR,分别表示 datetime 所能表示的最小、最大年份,值分别为 19999

datetime 库以类的方式提供多种日期和时间表达方式。
(1) datetime.date:日期表示类,可以表示年、月、日等。
(2) datetime.time:时间表示类,可以表示小时、分钟、秒、毫秒等。
(3) datetime.dateime:日期和时间表示的类,功能覆盖 datetime 类。
(4) datetime.timedelta: 与时间间隔有关的类。
(5) datetime.tzinfo:与时区有关的信息表示类。

由于 datetime.daetime 类表达形式最为丰富,这里主要介绍这个类的使用。使用 datetime 类需要用 import 保留字,引用 datetime类的方式如下:

from datetime import datetime

2. 拓展: 1970年1月1日

当代计算机系统都有一个计时功能,能够输出从格林威治标准时间 19701100:00:00 开始到当下的时间计数,精确到秒,这是 UNIX 操作系统早期的设计习惯,后沿用到所有计算机系统中。

现在的计算机硬件和系统都是 64 位,如果用 64 位存储这个时间计数则最大可以表示距离 197011 日开始的 264 秒,1365 天的总秒数约为 1.9x224 ,因此,64 位计算机系统可以将时间表示到约公元 239 年,相信我们的 N 代子孙,哪怕到地球毁灭那天都不用担心时间不准确了。

——为什么选择从 197011 日开始?
——无论选择从哪天开始, 都会有同样的问题, 不是吗?

3. datetime 库解析

datetime 类 ( datetime.datetime 类,以下简称为 datetime 类) 的使用方式是首先创建一个 datetime 对象,然后通过对象的方法和属性显示时间。创建 datetime 对象有3种方法:datetime.now()datetime.utcnow()datetime.datetime()

1.使用 datetime.now() 获得当前日期和时间对象,使用方法如下:

datetime.now()

作用:返回一个 datetime 类型,表示当前的日期和时间,精确到微秒。
参数:无
调用该函数,执行结果如下:

from datetime import datetime
today = datetime.now()
print(today)

2022-05-01 20:32:41.772021

2.使用 datetime utcnow() 获得当前日期和时间对应的 UTC (世界标准时间) 时间对象,使用方法如下:

datetime.utcnow ()

作用:返回一个 datetime 类型,表示当前日期和时间的 UTC 表示,精确到微秒。
参数:无
调用该函数,执行结果如下:

from datetime import datetime
today = datetime.utcnow()
print(today)

2022-05-01 12:35:40.849860

3.datetime.now()datetime utcnow() 都返回一个 datetime 类型的对象,也可以直接使用 datetime() 构造一个日期和时间对象, 使用方法如下:

datetime (year, month, day, hour=0, minute=0,second=0, microsecond=0)

作用:返回一个 datetime 类型,表示指定的日期和时间,可以精确到微秒。

参数如下:

year:指定的年份,MINYEAR <= year <= MAXYEAR

month:指定的月份,1 <= month <= 12

day:指定的日期,1 <= day <=月份所对应的日期上限

hour:指定的小时,0 <= hour < 24

minute:指定的分钟数,0 <= minute < 60

second:指定的秒数,0 <= second < 60

microsecond:指定的微秒数,0 <= microsecond < 1000000

其中,hourminutesecondmicrosecond 参数可以全部或部分省略。

调用 datetime() 函数直接创建一个 datetime 对象,表示 20225120:33327 微妙,执行结果如下:

from datetime import datetime
someday = datetime(2022, 5, 1, 20, 43, 32, 7)
print(someday)

2022-05-01 20:43:32.000007

到此,程序已经有了一个 datetime 对象,进一步可以利用这个对象的属性显示时间,为了区别 datetime 库名,采用上例中的 someday 代替生成的 datetime 对象,常用属性如下表所示。

属性 描述
someday.min 固定返回 datetime 的最小时间对象,datetime(1,1,1,0,0)
someday.max 固定返回 datetime 的最大时间对象,datetime(9999,12,31,23,59,59,59,999999)
someday.year 返回 someday 包含的年份
someday.month 返回 someday 包含的月份
someday.day 返回 someday 包含的日期
someday.hour 返回 someday 包含的小时
someday.minute 返回 someday 包含的分钟
someday.second 返回 someday 包含的秒钟
someday.microsecond 返回 someday 包含的微妙值

datetime 对象有 3 个常用的时间格式化方法,如下表所示

属性 描述
someday.isoformat() 采用 ISO 8601 标准显示时间
someday.isoweekday() 根据日期计算星期后返回 1~7,对应星期一到星期日
someday.strftime(format) 根据格式化字符串 format 进行格式显示的方法

isoformat()isoweekday() 方法的使用如下:

from datetime import datetime
today = datetime.now()
print(today.isoformat())
print(today.isoweekday())

程序执行结果如下:

2022-05-01T21:00:28.392304
7

strftime() 方法是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。例如下面的例子,用该方法输出特定格式时间。

from datetime import datetime
today = datetime.now()
print(today.strftime("%Y-%m-%d %H : %M : %S"))

程序执行结果如下:

2022-05-01 21 : 04 : 23

下表是 strftime() 方法的格式化控制符。

格式化字符串 日期/时间 值范围和实例
%Y 年份 0001~9999
%m 月份 01~12
%B 月名 January~December
%b 月名缩写 Jan~Dec
%d 日期 01~31
%A 星期 Monday~Sunday
%a 星期缩写 Mon~Sun
%H 小时(24 h 制) 00~23
%M 分钟 00~59
%S 00~59
%x 日期 月/日/年,例如,01/01/2022
%X 时间 时 :分:秒,例如,19 : 09 : 31

strftime() 格式化字符串的数字左侧会自动补零,上述格式也可以与 print() 的格式化函数起使用,例如:

from datetime import datetime

now = datetime.now()

print(now.strftime("%Y- %m- %d"))

print(now.strftime("%A,%d. %B %Y %H: %M%p"))

print("今天是 {0:%Y} 年 {0:%m} 月 {0:%d} 日".format(now))

程序执行结果如下:

2022- 05- 01
Sunday,01. May 2022 21: 21PM
今天是 2022 年 05 月 01 日

datetime 库主要用于对时间的表示,从格式化角度掌握 strftime() 函数已经能够处理很多情况了。建议读者在遇到需要处理时间的问题时采用 datetime 库,简化格式输出和时间的维护。

🧸这次的分享就到这里啦,继续加油哦^^
🍭有出错的地方欢迎在评论区指出来,共同进步,谢谢啦文章来源地址https://www.toymoban.com/news/detail-409833.html

到了这里,关于[Python] datetime 库的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python jieba库的使用

    jieba 库是一款优秀的 Python 第三方中文分词库, jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。 精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析 全模式:将语句中所有可能是词的词语都切分出来,速度很快,但

    2024年04月25日
    浏览(28)
  • python之prettytable库的使用

    prettytable是Python的一个第三方工具库 ,用于创建漂亮的ASCII表格。它支持带有列标题的表格,还支持颜色和自定义格式。使用prettytable可以轻松地将数据可视化为表格,方便阅读和理解。 因为是第三方工具库,所以要先安装,安装命令如下 1. 添加表头 使用 field_names 来添加表

    2024年02月13日
    浏览(32)
  • Python的pickle库的简单使用

    pickle 是 Python 中用于序列化和反序列化对象的标准库。它可以将对象转换为字节流,以便在存储或传输过程中使用,也可以将字节流重新转换回原始对象。 基本使用方法如下: 序列化对象:将对象转换为字节流的过程称为序列化。可以使用 pickle.dump() 函数将对象序列化并写

    2024年02月06日
    浏览(55)
  • python Selenium 库的使用技巧

    Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览

    2024年01月23日
    浏览(44)
  • python 学习之 request 库的基本使用

    目录 1、基本请求 2、代理设置 3、设置请求参数 4、设置请求头 5、文件的写入与读取 6、遍历请求 txt 内的所有 url 7、其他补充 测试代码: 个人理解: 使用 requests 库我们肯定需要先导入它,使用 import 导入; re 为我们自定义的一个参数,用来接收请求返回的信息,在 pytho

    2024年04月27日
    浏览(34)
  • Python -- 图像处理—PIL库的使用

    PIL库的使用 要点:PIL库是一个具有强大图像处理能力的第三方库,不仅包含了丰富的像素、色彩操作功能,还可以用于图像归档和批量处理。 1.PIL库概述 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装。安装PIL库的方法如下,需要注意,安装库的名字是

    2024年02月05日
    浏览(47)
  • Python——第6章 Numpy库的使用

    Numpy 是 Python 专门处理高维数组 (high dimensional array) 的计算的包。 官网 (www.numpy.org). 列表和数组区别 列表:数据类型可以不同——3.1413, ‘pi’, 3.1404, [3.1401, 3.1349], ‘3.1376’ 数组:数据类型相同——3.1413, 3.1398, 3.1404, 3.1401, 3.1349, 3.1376 数组的创建—定隔定点的 np.aran

    2024年02月06日
    浏览(42)
  • Python模拟鼠标键盘:pykeyboard库的使用

    目录 1.下载安装:pyHook库、PyWin32 2.安装:pykeyboard库 3.模拟鼠标键盘操作 3.1 鼠标操作 3.2 键盘操作 按键属性 4.输入中文 pyHook有个小问题,电脑是64位,可能只能安装32位的,安装失败的话换一个文件试着安装就好了 Anaconda自带,不需要安装 安装: PyMouse 和 PyKeyboard 库都集成到

    2024年02月12日
    浏览(36)
  • python中selenium库的基本使用详解

    什么是selenium selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE)

    2024年01月21日
    浏览(40)
  • Python爬虫基础(一):urllib库的使用详解

    Python爬虫基础(一):urllib库的使用详解 Python爬虫基础(二):使用xpath与jsonpath解析爬取的数据 Python爬虫基础(三):使用Selenium动态加载网页 Python爬虫基础(四):使用更方便的requests库 Python爬虫基础(五):使用scrapy框架 urllib是一个python自带的库,不需要手动安装。

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包