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. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:SSM(Spring+Spring MVC+MyBatis)框架整合搭建详细步骤

    因为 Spring MVC 是 Spring 框架中的一个子模块,所以 Spring 与 SpringMVC 之间不存在整合的问题.实际上,SSM 框架的整合只涉及 Spring 与 MyBatis ...

  2. spring boot 开发环境搭建(Eclipse)

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  3. gdb 常用选项

    gdb 常用选项 help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h run:重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r st ...

  4. 基础语法-循环结构while

    基础语法-循环结构while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.while语句格式 while(条件表达式){ 执行语句; } 二.while语句案例 /** * ...

  5. Mac安装vue产生错误

    npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/webpack/node_modules/_ ...

  6. Python Learning Day7

    破解极验滑动验证 博客园登录url: https://account.cnblogs.com/signin?returnUrl=https%3A%2F%2Fwww.cnblogs.com%2F 代码逻 ...

  7. 201809-1 卖菜 Java

    思路: 需要两个数组,一个保存原始数据 import java.util.Scanner; public class Main { public static void main(String[] a ...

  8. 2020PHP面试-PHP篇

    一.列举一些PHP的设计模式 单例模式:保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点. 工厂模式:定义一个创建对象的接口,但是让 ...

  9. html_js

    <!-- js的特点:别名脚本 -由浏览器内置的JavaScript引擎执行代码. -解析执行:事先不编译,逐行执行 -面向对象:内置大量的现成对象 适宜: -客户端的数据计算:不需要保存和提交 ...

  10. 在Azure Storage 托管HTTP静态网站

    本文演示了在Azure Storage托管HTTP静态网站. 注意:HTTP已经不建议使用. 创建Azure StorageV2 存储账户 账户类型选择“StorageV2(通用版V2)”: 本例中, ...