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

date类

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

  1. import datetime
  2. a = datetime.date(2018,10,9)
  3. print(a)
  4. >>>2018-10-09

常用方法:

  • 比较日期大小:共有六种方法,分别是__eq__、__ge__、__gt__、__le__、__lt__、__ne__,其分别表示==、>=、>、<=、<、!=,返回的结果是True或False。
  1. import datetime
  2. da = datetime.date(2018,10,9)
  3. be = datetime.date(2018,1,1)
  4. print(da.__eq__(be))
  5. print(da.__ge__(be))
  6. >>>False
  7. True
  • 获取两日期的相差天数:有两种方法,__sub__和__rsub__,这两种方法本质相同,只是一个正向减,一个反向减。
  1. print(da.__sub__(be))
  2. print(da.__rsub__(be))
  3. >>>281 days, 0:00:00
  4. -281 days, 0:00:00
  • ISO标准化日期:有三种格式,一种是年-周数-星期数,方法是isocalender;另一种是年-月-日,方法是isofoemat;最后一种是星期数(周一为1,周日为7),方法是isoweekday。
  1. import datetime
  2. da = datetime.date(2018,10,9)
  3. print(da.isocalendar())
  4. print(da.isoformat())
  5. print(da.isoweekday())
  6. >>>(2018, 41, 2)
  7. 2018-10-09
  8. 2
  • 获取当前日期:
  1. import datetime
  2. to = datetime.date.today()
  3. print(to)
  4. >>>2018-10-09
  • 日期的格式化输出:有三种方法,__format__和strftime方法差不多,第三种是输出ctime格式。
  1. import datetime
  2. da = datetime.date(2018,10,9)
  3. print(da.__format__('%y/%m/%d'))
  4. print(da.strftime('%Y-%m-%d'))
  5. print(da.ctime())
  6. >>>18/10/09
  7. 2018-10-09
  8. Tue Oct 9 00:00:00 2018

time类

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

  1. import datetime
  2. da = datetime.time(19,30,30)
  3. print(da)
  4. >>>19:30:30

常用方法:

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

datetime类

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

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

常用方法:

  • 返回当前日期
  1. import datetime
  2. now = datetime.datetime.now()
  3. print(now)
  4. >>>2018-10-10 00:37:31.301851
  • 分别返回对象的日期和时间部分:两个方法,返回日期的date()和返回时间的time()。
  1. print(now.date())
  2. print(now.time())
  3. >>>2018-10-10
  4. 00:39:39.242345
  • 返回格林威治时间:utcnow方法
  1. import datetime
  2. now = datetime.datetime.utcnow()
  3. print(now)
  4. >>>2018-10-09 16:40:52.682584
  • 格式化时间输出:用strftime方法
  • combin方法:将一个date和time对象合成一个datetime对象
  1. import datetime
  2. now = datetime.datetime.now()
  3. date = now.date()
  4. time = now.time()
  5. print(datetime.datetime.combine(date,time))
  6. >>>2018-10-10 00:46:21.209452
  • strptime方法:由string、format两个参数返回一个datetime对象
  1. print(datetime.datetime.strptime('2017-3-22 15:25','%Y-%m-%d %H:%M'))
  2. >>>2017-03-22 15:25:00
  • 日期时间转为时间戳:timestamp方法
  1. import datetime
  2. now = datetime.datetime.now()
  3. timestamp = now.timestamp()
  4. print(timestamp)
  5. >>>1539103808.218222
  • 时间戳转为日期时间:fromtimestamp方法
  1. time = datetime.datetime.fromtimestamp(timestamp)
  2. print(time)
  3. >>>2018-10-10 00:51:58.044790

timedelta类

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

  1. import datetime
  2. delta = datetime.timedelta(days = 2,hours = 2,minutes=30,seconds = 30,microseconds=300,milliseconds=66,weeks = 1)
  3. print(delta)
  4. >>>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. text字体样式(多行结尾省略,彩色渐变字体)

    text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; ...

  2. LightOJ - 1282 Leading and Trailing (数论)

    题意:求nk的前三位和后三位. 分析: 1.后三位快速幂取模,注意不足三位补前导零. 补前导零:假如nk为1234005,快速幂取模后,得到的数是5,因此输出要补前导零. 2.前三位: 令n=10a, ...

  3. easyUI中,z-index失效问题

    1.z-index是css的属性,第一种div设置css的z-index时,是不起作用的,最后设置在style中才起作用了,比较诡异的一件事情. 2.还有一种情况就是,遮盖层在dialog弹出层的下面 ...

  4. JavaSE--日志

    参考 https://www.cnblogs.com/hanszhao/p/9754419.html https://www.cnblogs.com/chenhongliang/p/5312517.h ...

  5. python 列表和字符串

    python 列表中保留所有字符串前三项,并保存到一个新的列表l = [s[:3] for s in data] python 在列表中查找包含所以某个字符串的项,并保存到一个新的列表l = [s f ...

  6. 抗干扰性极强非接触式读卡13.56mhz芯片:SI522

    由于智能门锁产品不断地火爆,市场上的不断出现破解的方法.对此中科微联合深圳市动能世纪科技有限公司不断满足市场需求,推出一款抗干扰性极强的13.56mhz芯片. 该芯片出了抗干扰性强以外还直接PIN2P ...

  7. 进度5_家庭记账本App_数据库的添加和查看

    今天继续在昨天的基础上完成了家庭记账单的在数据库中的添加和查看功能 在之前的基础上舍弃了Fragment,重新在百度上找到了学习资料,并且自我完成了实践 首先在之前的基础上创建CostListAdap ...

  8. Arduino - ( Uno、Nano、Promini)针脚示意图

    Uno针脚示意图 Nano针脚示意图 Promini针脚示意图

  9. Pycharm2020最新激活码|永久激活(附最新激活码和插件)

    最近很多人的Pycharm激活时间又过期了,后台很多人索要激活码,我就再把激活的方法汇和工具再梳理一次给大家. 最主要有两种激活方式(两种方式需要的激活码不同): 一.激活码激活: 一般一年多需要激活 ...

  10. python从命令窗口启动脚本 创建并写入内容到文件示例

    写入到文件示例: #!/usr/bin/env python3 from math import exp, log, sqrt import re from datetime import date, ...