返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python中datetime库的使用
  • 411
分享到

详解Python中datetime库的使用

Pythondatetimedatetime 2023-05-18 05:05:38 411人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1. datetime 库概述2. 拓展: 1970年1月1日3. datetime 库解析1. datetime 库概述 以不同格式显示日期和时间是程序中最常用到的功能。Pyt

1. datetime 库概述

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

datetime 库可以从系统中获得时间,并以用户选择的格式输出。

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

datetime 库以类的方式提供多种日期和时间表达方式。

(1) datetime.date:日期表示类,可以表示年、月、日等。
(2) datetime.time:时间表示类,可以表示小时、分钟、秒、毫秒等。
(3) datetime.dateime:日期和时间表示的类,功能覆盖 date 和 time 类。
(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
%S00~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 库,简化格式输出和时间的维护。  

到此这篇关于详解python中datetime库的使用的文章就介绍到这了,更多相关Python datetime库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Python中datetime库的使用

本文链接: https://lsjlt.com/news/211767.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Python中datetime库的使用
    目录1. datetime 库概述2. 拓展: 1970年1月1日3. datetime 库解析1. datetime 库概述 以不同格式显示日期和时间是程序中最常用到的功能。Pyt...
    99+
    2023-05-18
    Python datetime datetime
  • python3中datetime库详解
    1介绍datetime库之前 我们先比较下time库和datetime库的区别先说下time在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近...
    99+
    2023-01-31
    详解 datetime
  • Python标准库datetime之datetime模块用法分析详解
    目录1、日期时间对象2、创建日期时间对象2.1、通过datetime.datetime.utcnow()创建2.2、通过datetime.datetime.today()函数创建2....
    99+
    2024-04-02
  • Python中time与datetime模块使用方法详解
    目录time 模块datetime 模块总结time 模块 time 模块,也就是时间模块,用来进行一些与时间有关的操作。其使用方法为: import time print(time...
    99+
    2024-04-02
  • Python中的pathlib库使用详解
    目录1. pathlib库介绍2. pathlib库下Path类的基本使用2.1 获取文件名2.2 获取文件前缀和后缀2.3 获取文件的文件夹及上一级、上上级文件夹2.4 获取该文件...
    99+
    2024-04-02
  • python datetime模块详解
    目录1. 获取当前时间2. 时间间隔 timedelta3. datetime 转 字符串 strftime()4. 字符串 转 datetime对象 datetime.strpti...
    99+
    2024-04-02
  • python中time库使用详解
    目录time库的使用:时间获取:(1)time函数(2)localtime()函数和gmtime()函数(3)ctime()函数(与asctime()函数为一对互补函数) ...
    99+
    2024-04-02
  • MySQL中datetime和timestamp的区别及使用详解
    一、MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME() ...
    99+
    2024-04-02
  • Python中DateTime库Pendulum有什么用
    这篇文章将为大家详细讲解有关Python中DateTime库Pendulum有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.直接替换 datetime使用 pytz 等第三方库来解决一些 Pyt...
    99+
    2023-06-25
  • 详解python时间模块中的datetime模块
    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致。相比于time模块,dat...
    99+
    2022-06-04
    模块 详解 时间
  • Python的时间模块datetime详解
    datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime.da...
    99+
    2022-06-04
    详解 模块 时间
  • python中validators库的使用方法详解
    目录前言validators.between(value, min=None, max=None)validators.domain(value)validators.email(v...
    99+
    2024-04-02
  • python urllib库的使用详解
    目录1、请求模块:urllib.request data参数:post请求urlopen()中的参数timeout:设置请求超时时间:响应类型:响应的状态码、响应头:使用代理:url...
    99+
    2024-04-02
  • Python jiaba库的使用详解
    目录jiaba库的使用1、jieba库的安装2、统计荷塘月色词频总结jiaba库的使用 jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模...
    99+
    2024-04-02
  • Python的datetime怎么使用
    这篇文章主要介绍“Python的datetime怎么使用”,在日常操作中,相信很多人在Python的datetime怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的datetime怎么使用...
    99+
    2023-06-21
  • 详解Python常用标准库之时间模块time和datetime
    目录time时间模块time -- 获取本地时间戳localtime -- 获取本地时间元组(UTC)gmtime -- 获取时间元组(GMT)mktime -- 时间元组获取时间戳...
    99+
    2024-04-02
  • Python中第三方库Faker的使用详解
    目录背景介绍实战:模拟1w条数据写入ExcelPython库讲解1. 生成姓名2. 生成详细地址3. 生成所在省份4. 生成手机号5. 生成身份证号6. 生成出生年月7. 生成邮箱补...
    99+
    2024-04-02
  • python中第三方库pyecharts的使用详解
    与pyecharts有关的两个网站:官方网站:pyecharts - A Python Echarts Plotting Library built with love. ,画廊功能...
    99+
    2024-04-02
  • python datetime简单使用
    import datetime #当前时间print datetime.datetime.now()2018-06-13 16:22:42.414143 #当前时间减去七天print datetime.datetime.now() - da...
    99+
    2023-01-31
    简单 python datetime
  • Python标准库datetime date模块的详细介绍
    目录前言1、定义1.2、常见错误2、date类常用的函数2.1、获取当期日期2.2、格式化日期2.2.1、ctime()2.2.2、datetime.date对象2.2.3、repl...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作