python学习笔记——datetime库的使用

python学习笔记——datetime库的使用

  • 1.datetime库的概述
  • 2.引用方法
  • 3.datetime库的解析
    • 3.1datetime.now()
    • 3.2datetime.utcnow()
    • 3.3直接使用datetime()
  • 4.datetime库的常用属性
    • 4.1strftime格式化控制符
    • 4.2strftime与print的格式化同时使用
  • 5 小结

1.datetime库的概述

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

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

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

2.引用方法

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

from datetime import datetime

3.datetime库的解析

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

3.1datetime.now()

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

>>> from datetime import datetime
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 4, 26, 8, 41, 57, 927757)

3.2datetime.utcnow()

作用:获取当前日期和时间的UTC表示,精确到微秒。
参数:无
运行如下:

>>> now =datetime.utcnow()
>>> now
datetime.datetime(2020, 4, 26, 0, 48, 11, 417383)

3.3直接使用datetime()

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

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

参数 解释
year 指定的年份
month 指定的月份,在[1,12]之间
day 指定的日期,[1,本月最大日期数]
hour 指定的小时,[1,12]
minute 指定的分钟数,[0,60]
second 指定的秒数,[0,60]
microsecond 指定的毫秒数,[0,1000000]

运行如下:

>>> now =datetime(2020, 4, 26, 0, 48, 11, 417383)
>>> now
datetime.datetime(2020, 4, 26, 0, 48, 11, 417383)

4.datetime库的常用属性

属性 描述
now.min 固定返回datetime的最小时间对象,datetime(1,1,1,0.0) .
now.max 固定返回datetime的最大时间对象,datetime(9999,12,31,23,59,5999999)
now.year/month/day/hour/minute/second/microsecond 返回now包含的年/月/日/分/秒/毫秒
now.isoformat() 采用ISO 8601显示时间
now.isoweekday() 根据日期计算星期,返回1~7代表星期一到星期天
now.strftime(format) 根据格式化字符串format进行格式化显示的方法

运行如下:

>>> now = datetime(2020,4,26,9,18,59,1)
>>> now.isoformat()
'2020-04-26T09:18:59.000001'
>>> now.isoweekday()
7
>>> now.strftime("%Y-%m-%d %H:%M:%S")
'2020-04-26 09:18:59'

4.1strftime格式化控制符

格式化字符串 表示
%Y 年份
%m 月份
%B 月名(英语)
%b 月名缩写
%d 日期
%A 星期
%a 星期缩写
%H 小时(24h制)
%I 小时(12h制)
%p 上下午
%M 分钟
%S

4.2strftime与print的格式化同时使用

>>> now = datetime(2020,4,26,9,18,59,1)
>>> print("{0:%Y}年{0:%m}月{0:%d}日".format(now))
20200426

5 小结

关于时间问题的处理都可以运用datetime库中的相关函数。还可以为一段程序的运行时间计时⏲

你可能感兴趣的:(python学习笔记)