datetime模块是python自带对时间的操作,其常用的四大类分别是date、time、datetime、timedelta。下面分别讲解下这四大类中常用的方法及其属性。

date类

date类的对象有三个参数构成:year、month、day,我们先创建一个对象。

import datetime

a = datetime.date(2018,10,9)
print(a)
>>>2018-10-09

常用方法:

  • 比较日期大小:共有六种方法,分别是__eq__、__ge__、__gt__、__le__、__lt__、__ne__,其分别表示==、>=、>、<=、<、!=,返回的结果是True或False。
import datetime

da = datetime.date(2018,10,9)
be = datetime.date(2018,1,1)
print(da.__eq__(be))
print(da.__ge__(be))
>>>False
True
  • 获取两日期的相差天数:有两种方法,__sub__和__rsub__,这两种方法本质相同,只是一个正向减,一个反向减。
print(da.__sub__(be))
print(da.__rsub__(be))
>>>281 days, 0:00:00
-281 days, 0:00:00
  • ISO标准化日期:有三种格式,一种是年-周数-星期数,方法是isocalender;另一种是年-月-日,方法是isofoemat;最后一种是星期数(周一为1,周日为7),方法是isoweekday。
import datetime

da = datetime.date(2018,10,9)
print(da.isocalendar())
print(da.isoformat())
print(da.isoweekday())
>>>(2018, 41, 2)
2018-10-09
2
  • 获取当前日期:
import datetime
to = datetime.date.today()
print(to)
>>>2018-10-09
  • 日期的格式化输出:有三种方法,__format__和strftime方法差不多,第三种是输出ctime格式。
import datetime
da = datetime.date(2018,10,9)
print(da.__format__('%y/%m/%d'))
print(da.strftime('%Y-%m-%d'))
print(da.ctime())
>>>18/10/09
2018-10-09
Tue Oct 9 00:00:00 2018

time类

time类对象参数有hour、minute、second、microsecond、tzinfo,这些参数都是可选参数。我们先创建一个time对象。

import datetime
da = datetime.time(19,30,30)
print(da)
>>>19:30:30

常用方法:

  • 比较时间大小,这个与date一样,有六种方法。
  • ISO标准化时间:isoformat函数。
print(da.isoformat())
>>>19:30:30
  • 时间字符串输出:有__format__方法和strtfime方法。
import datetime
da = datetime.time(19,30,30)
print(da.__format__('%H/%M/%S'))
print(da.strftime('%I:%M:%S'))
>>>19/30/30
07:30:30

datetime类

datetime类可以看成是date类和time类的结合体,datetime对象的参数有year、month、day、hour、minute、second等,其中年月日参数必须要有。老规矩先创建一个datetime对象。

import datetime
da = datetime.datetime(2018,10,10,0,35,30)
print(da)
>>>2018-10-10 00:35:30

常用方法:

  • 返回当前日期
import datetime
now = datetime.datetime.now()
print(now)
>>>2018-10-10 00:37:31.301851
  • 分别返回对象的日期和时间部分:两个方法,返回日期的date()和返回时间的time()。
print(now.date())
print(now.time())
>>>2018-10-10
00:39:39.242345
  • 返回格林威治时间:utcnow方法
import datetime
now = datetime.datetime.utcnow()
print(now)
>>>2018-10-09 16:40:52.682584
  • 格式化时间输出:用strftime方法
  • combin方法:将一个date和time对象合成一个datetime对象
import datetime

now = datetime.datetime.now()
date = now.date()
time = now.time()
print(datetime.datetime.combine(date,time))
>>>2018-10-10 00:46:21.209452
  • strptime方法:由string、format两个参数返回一个datetime对象
print(datetime.datetime.strptime('2017-3-22 15:25','%Y-%m-%d %H:%M'))
>>>2017-03-22 15:25:00
  • 日期时间转为时间戳:timestamp方法
import datetime
now = datetime.datetime.now()
timestamp = now.timestamp()
print(timestamp)
>>>1539103808.218222
  • 时间戳转为日期时间:fromtimestamp方法
time = datetime.datetime.fromtimestamp(timestamp)
print(time)
>>>2018-10-10 00:51:58.044790

timedelta类

此类包含属性days、seconds、microxeconds。此类创建对象的参数为关键字参数,参数没有年、月,由天、微秒、毫秒、周、小时、分钟。

import datetime

delta = datetime.timedelta(days = 2,hours = 2,minutes=30,seconds = 30,microseconds=300,milliseconds=66,weeks = 1)
print(delta)
>>>9 days, 2:30:30.066300

python模块——datetime的更多相关文章

  1. 潭州课堂25班:Ph201805201 python 模块 datetime,logging 第七课 (课堂笔记)

    datetime 模块 # -*- coding: utf-8 -*-# 斌彬电脑# @Time : 2018/7/9 0009 20:42import datetime d = datetime.d ...

  2. python模块-datetime模块

    上面一篇已经讲了time模块,再来学习datetime模块. datetime主要有datetime.timedelta.time.date这4个子模块. a.datetime常用的函数(dateti ...

  3. python模块datetime

    1. 日期输出格式化 datetime => string import datetime now = datetime.datetime.now() now.strftime('%Y-%m-% ...

  4. python模块--datetime

    datatime.date类 构造器 返回值类型 说明 (year, month, day) date   类方法/属性     .max date datetime.date(9999, 12, 3 ...

  5. Python模块学习系列

    python模块-time python模块-datetime python模块-OS模块详解

  6. Python学习总结14:时间模块datetime & time & calendar (一)

    Python中的常用于处理时间主要有3个模块datetime模块.time模块和calendar模块. 一.time模块 1. 在Python中表示时间的方式 1)时间戳(timestamp):通常来 ...

  7. python模块之time和datetime

    33.python模块之time      1.>>> time.time() 1470900847.8458395 ==>时间戳,从1970年到现在.      2.> ...

  8. Python,datetime模块实例

    Python的标准模块datetime模块,在我们的工作中应用非常频繁,下面对datetime中常用的方法进行了总结和测试:对每一个方法都使用了单元测试框架Unittest来配合测试. 主要的类型有: ...

  9. Python模块 - time,datetime,calendar

    time模块 localtime 当前时间的struct_time形式 >>> time.localtime() time.struct_time(tm_year=2015, tm_ ...

随机推荐

  1. DataGridView在HeaderCell显示行号

    直接显示在HeaderCell中.,效果如下: 1.RowStateChanged事件触发 2.如果仅用于数据展示,RowStateChanged事件会触发多次,数据量过大会卡死,因此,使用了Colu ...

  2. H5页面跳转到小程序代码

    1.H5页面加代码直接打开小程序 <script type="text/javascript src="https://res.wx.qq.com/open/js/jweix ...

  3. UVA - 1149 Bin Packing(装箱)(贪心)

    题意:给定N(N<=10^5)个物品的重量Li,背包的容量M,同时要求每个背包最多装两个物品.求至少要多少个背包才能装下所有的物品. 分析:先排序,从最重的开始装,如果重量小于M,则如果能装一个 ...

  4. JSP页面获取其他页面传递的参数

    jstl表达式获取方式: ${param.pid} el表达式获取方式: ${requestScope.attr}  el表达式获取方式: ${attr} ---------------------- ...

  5. Linux系统中的变量PATH

    PATH 作用 在Linux安装一些可执行文件通常要添加路径环境变量PATH,PATH环境变量通俗的讲就是把程序的路径"备案"到系统中,这样执行这些程序时就不需要输入完整路径,直接 ...

  6. MySQL新增数据,存在就更新,不存在就添加

    1.插入一条数据,存在就更新,不存在就更新(必须现有唯一键)使用insert ignore语句: insert ignore into table(col1,col2) values ('a','b' ...

  7. UITextFeild的基本属性

    textField 基本属性   _textField.frame = CGRectMake(0, 0, 200, 50); _textField.delegate = self; _textFiel ...

  8. 卷积神经网络应用于tensorflow手写数字识别(第三版)

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...

  9. C/C++学习笔记_gdb调试

    1.前提条件:可执行文件包含调试信息 gcc -g 2.gdb 文件名 ---启动gdb调试 3.查看代码的命令 当前文件: list 行号(函数名) 指定文件: list 文件名:行号(函数名)4. ...

  10. Maven - Repository(存储库)

    版权所有,未经授权,禁止转载 章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Ma ...