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. Vue核心知识一览

    生命周期              beforeCreate :                 数据观测 和 初始化事件还未开始           created :                ...

  2. mybaits入门学习

    学习了简单的mybatis的配置 Bean层: 这个都会很简单 一个完整的Bean 需要getter和setter方法还需要一个空的构造方法和一个满的构造方法. Dao层: 创建一个接口就ok了 pa ...

  3. 用Visual studio11在Windows8上开发驱动实现注册表监控和过滤

    在Windows NT中,80386保护模式的“保护”比Windows 95中更坚固,这个“镀金的笼子”更加结实,更加难以打破.在Windows 95中,至少应用程序I/O操作是不受限制的,而在Win ...

  4. Egret Engine 2D - 项目配置

      todo 看三个示例项目的完整源码和资源     <e:Group name="Button" height = "300" verticalCent ...

  5. PHP的操作符与控制结构

    一.操作符  操作符是用来对数组和变量进行某种操作运算的符号. 算术操作符 操作符 名称 示例 + 加 $a+$b - 减 $a-$b * 乘 $a*$b / 除 $a/$b % 取余 $a%$b 复 ...

  6. 翻译小工具制作,Python简单破解有道JS加密!

    写这篇文章之前,我记得我以前好像公布一次.百度翻译的接口把版本号修改可以得到老版本,而老版本是没JS加密的,有道的呢也是一样的. ! 不过今天的教程不会这么low,咱们今天就老老实实把有道翻译的JS破 ...

  7. 一小时搞定Eureka

    一.什么是Eureka Eureka是Netflix公司开源的产品,它是一种基于REST( Representational State Transfer )的服务,主要用于AWS云. Eureka提 ...

  8. 用matplotlib统计数据并画图

    用jupyter来统计数据,画出柱状图 import numpy as np import pandas as pd import matplotlib.pyplot as plt import ma ...

  9. SpringBoot+Shiro (一)

    从网上搜索SpringBoot+Shiro相关文章,大部分都需要DB和Ecache的支持.这里提供一个最简单的Spring+Shiro的配置. 前言: 1. 由于SpringBoot官方已经不再建议使 ...

  10. 51nod 1346:递归

    1346 递归 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 函数f(n,m) { 若n=1或m=1返回a[n][m]; 返回f(n-1,m)异或 ...