datetime模块中包含五种基本类型:date、time、datetime、timedelta和tzinfo,tz是time zone的缩写,tzinfo用于表示时区信息。

一,date类型

date类型表示日期,是由year、month和day构成的对象

1,初始化date对象

使用date(year,month,day)函数来初始化date对象:

from datetime import date
mydate=date(year,month,day)

2,date对象函数

date对象可以返回日期的year,month和day:

  • mydate.year
  • mydate.month
  • mydate.day

date类型的类型方法 date.today() 用于返回当前的日期

>>> from datetime import date
>>> date.today()
datetime.date(2019, 6, 27)

 3,date对象的格式化

把date对象转换为标准化的字符串 ‘YYYY-MM-DD’

>>> mydate=date(2019,3,1)
>>> mydate.__str__()
'2019-03-01'
>>> mydate.isoformat()
'2019-03-01'
>>> str(mydate)
'2019-03-01'

自定义格式:

  • %Y:4位数表示的年份,YYYY
  • %m:2位数字表示的月份,MM
  • %d:2位数字表示的天份,DD
>>> mydate.strftime('%Y-%m-%d')
'2019-03-01'
>>> mydate.__format__('%Y-%m-%d')
'2019-03-01'

二,time类型

时间类型表示时间,不带日期属性,是由时、分、秒、毫秒和时区构成的对象,毫秒的取值范围是0~999999。

time(hour, minute, second[, microsecond[, tzinfo]])

时间对象的属性:

  • mytime.hour
  • mytime.minute
  • mytime.second
  • mytime.microsecond
  • mytime.tzinfo

时间对象的格式化:

  • %H:2位数字表示的24小时制
  • %I:2位数字表示的12小时制
  • %M:两位数字表示的分钟
  • %S:2位数字表示的秒
  • %f:6位数字表示的毫秒

三,datetime类型

datetime类型既包括日期,也包括时间,是由日期和时间构成的类型:

datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

datetime对象的属性:year、month、day、hour、minute、second、microsecond和tzinfo。

datetime对象的函数:

  • mydatetime.date()
  • mydatetime.time(),不带time zone,或者认为time zone是None
  • mydatetime.timetz(),带有time zone

当前的日期和时间

from datetime import datetime
datetime.today()
datetime.utcnow()
datetime.now([tz])

四,timedelta类型

timedelta对象表示的是一个期间,是两个日期或时间之间的差值。注意,参数中没有年份。

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

通过timedelta()来计算日期的增加或减少:

>>> from datetime import timedelta
>>> date(2019,3,1) + timedelta(days = 1)
datetime.date(2019, 3, 2)
>>> date(2019,4,1) + timedelta(days = -1)
datetime.date(2019, 3, 31)

五,strftime() 和 strptime()

date、time和datetime对象都有函数strftime(format),用于把日期和时间转换为具有特定格式的字符串,而类方法 datetime.strptime(date_string, format),用于把格式化的字符串转换为日期和时间类型。

举个例子,把字符串转为date类型:

>>> import datetime
>>> date_str = '2017-01-01'
>>> datetime.datetime.strptime(date_str,'%Y-%m-%d').date()
datetime.date(2017, 1, 1)

参考文档:

8.1. datetime — Basic date and time types

【Python】datetime库详解

Python 学习 第15篇:日期和时间的更多相关文章

  1. Python学习(12)日期和时间

    目录 Python 日期和时间 时间元组 获取当前时间 获取格式化时间 格式化日历 获取某月日历 Time模块 日历模块 其他相关模块和函数 Python 日期和时间 Python 程序能用很多方式处 ...

  2. 吴裕雄--天生自然python学习笔记:Python3 日期和时间

    Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. ...

  3. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  4. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  5. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  6. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  7. python 学习笔记 13 -- 经常使用的时间模块之time

    Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...

  8. 《Javascript权威指南》13号学习笔记:使用日期和时间

    一.创Date示例 1.Date类的方法和属性是非常不静,故,申请书Date属性和方法之前.必须创建Date类的实例. var date = new Date();  //以当前日期和时间创建实例. ...

  9. python:如何获取当前的日期和时间

    # coding=utf-8 import datetime import time print ("格式参数:") print (" %a 星期几的简写") ...

随机推荐

  1. Python中model转dict

    问题 在query出来的行信息object中有一个dict变量,这个变量存储了字典信息 for u in session.query(User).all(): print u.__dict__ 但是这 ...

  2. node.js中this指向失效解决

    问题:在外部单独使用类实例对象的方法,this没有指向该类实例对象 代码如下 class CQH { hello() { let name = this.name(); console.log(`He ...

  3. Zabbix 系列文章

    Zabbix 所有文章目录 本系列文章都基于 Zabbix 4.0 , Zabbix 4.0 是属于长期支持版本,其它的长期支持版本有 3.0 .2.2 . 官方已经有中文文档, 官方文档链接: Za ...

  4. Vue实现简单的列表金额计算效果(简易购物车)

    效果图: 使用技术:v-for v-bind v-on实现简单的列表选中绑定操作 代码: <!DOCTYPE html> <html> <head> <met ...

  5. char.IsWhiteSpace(str,num),TimeSpan

    IsWhiteSpace(String, Int32) 指示指定字符串中位于指定位置处的字符是否属于空格类别. TimeSpan TimeSpan ts=new TimeSpan(4,30,0); C ...

  6. PlayJava Day006

    今日所学: /* 2019.08.19开始学习,此为补档. */ 构造方法没有返回值(即return为空). this:实例(对象)的引用. JVM:①static方法区:存静态数据   ②栈区:引用 ...

  7. PHP面试题2019年新浪工程师面试题及答案解析

    一.单选题(共28题,每题5分) 1.以下语句输出的结果是什么? A.3$a\$a3336 B.33\$a3336 C.$a$a\$a3336 D.3$a\$a333$a$a 参考答案:A 答案解析: ...

  8. 如何在CAD中批量打印图纸?这种方法你要知道

    CAD图纸都是使用CAD制图软件进行设计出来的,图纸的格式均为dwg格式的,不方便进行使用.就需要将图纸进行打印出来.多张CAD图纸如果一张一张进行打印速度就会非常的慢,那就可以使用CAD中的批量打印 ...

  9. C++ 流插入"<<"和流提取">>"运算符的重载

    01 流插入<<运算符的重载 C++ 在输出内容时,最常用的方式: std::cout << 1 <<"hello"; 问题: 那这条语句为什么 ...

  10. QML::基本属性类型

    QML基本属性类型