上面一篇已经讲了time模块,再来学习datetime模块。

datetime主要有datetime、timedelta、time、date这4个子模块。

a、datetime常用的函数(datetime对象)

1、获取当前时间:结果为struct_time

>>> a=datetime.datetime.now()
>>> print a.year,a.hour,a.minute
2017 15 58

2、获取当天时间:结果为struct_time

>>> datetime.datetime.today()
datetime.datetime(2017, 9, 23, 16, 1, 34, 637868)

3、格式化时间戳,结果为struct_time

>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2017, 9, 23, 16, 3, 26, 926928)

4、datetime.datetime.strftime():结果为string_time

>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2017-09-23 16:10:05'

5、datetime.datetime.strptime(),结果为struct_time

>>> datetime.datetime.now().strptime('2016-10-11','%Y-%m-%d')
datetime.datetime(2016, 10, 11, 0, 0)

6、datetime的所有函数

>>> dt=datetime.datetime.now()
>>> dt.weekday()
5
>>> dt.
dt.combine( dt.min dt.toordinal(
dt.ctime( dt.minute dt.tzinfo
dt.date( dt.month dt.tzname(
dt.day dt.now( dt.utcfromtimestamp(
dt.dst( dt.replace( dt.utcnow(
dt.fromordinal( dt.resolution dt.utcoffset(
dt.fromtimestamp( dt.second dt.utctimetuple(
dt.hour dt.strftime( dt.weekday(
dt.isocalendar( dt.strptime( dt.year
dt.isoformat( dt.time(
dt.isoweekday( dt.timetuple(
dt.max dt.timetz(
dt.astimezone( dt.microsecond dt.today(

  

b、timedelta,时间段,可以用来获取将来或过去某个时间

timedelta是一个时间段,不是表示一个时间点。所以我们可以把时间段用来加减操作。

比如:获取当天此时,明天此时,昨天此时,上周同一时刻

>>> datetime.datetime.now() + datetime.timedelta(days=0)
datetime.datetime(2017, 9, 23, 16, 21, 50, 308900)
>>> datetime.datetime.now() + datetime.timedelta(days=1)
datetime.datetime(2017, 9, 24, 16, 21, 57, 788849)
>>> datetime.datetime.now() + datetime.timedelta(days=-1)
datetime.datetime(2017, 9, 22, 16, 21, 59, 829977)
>>> datetime.datetime.now() + datetime.timedelta(days=-7)
datetime.datetime(2017, 9, 16, 16, 24, 41, 5906)
>>>

 

可以通过days、hours、minutes、seconds、microseconds指定天、时、分、秒、微妙来获取将来或过去的某个时间点。

>>> datetime.datetime.now() + datetime.timedelta(days=0)
datetime.datetime(2017, 9, 23, 16, 32, 56, 16910)
>>> datetime.datetime.now() + datetime.timedelta(days=-1,hours=1,seconds=10,minutes=2,microseconds=10)
datetime.datetime(2017, 9, 22, 17, 35, 7, 392881)
>>> datetime.datetime.now() + datetime.timedelta(days=1,hours=1,seconds=10,minutes=2,microseconds=10)
datetime.datetime(2017, 9, 24, 17, 35, 10, 857056)
>>>

  

c、date,生成一个日期对象,参数为:年、月、日

date(year, month, day) --> date object

>>> datetime.date(2017,9,23)
datetime.date(2017, 9, 23)

  

d、time,生成一个时间对象,参数为:时、分、秒、微妙

time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object

>>> datetime.time(16,11,11,11)
datetime.time(16, 11, 11, 11)

  

 

  

  

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

  1. Python,datetime模块实例

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

  2. python的datetime模块处理时间

    python的datetime模块主要用来处理时间,里面包含很多类,包括timedelay,date,time,datetime等 开发中经常会用到模块里面的datetime类,这是一个表示日期时间的 ...

  3. 基于Python的datetime模块和time模块源码阅读分析

    目录 1 前言  2 datetime.pyi源码分步解析 2.1 头部定义源码分析 2.2 tzinfo类源码分析 2.3 date类源码分析 2.4 time类源码分析 2.5 timedelta ...

  4. 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...

  5. python使用datetime模块计算各种时间间隔的方法

    python使用datetime模块计算各种时间间隔的方法 本文实例讲述了python使用datetime模块计算各种时间间隔的方法.分享给大家供大家参考.具体分析如下: python中通过datet ...

  6. Python模块01/自定义模块/time模块/datetime模块/random模块

    Python模块01/自定义模块/time模块/datetime模块/random模块 内容大纲 1.自定义模块 2.time模块 3.datetime模块 4.random模块 1.自定义模块 1. ...

  7. python中datetime模块

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供 的接口与C标准库time.h基本一致.相比于time模块 ...

  8. python处理时间--- datetime模块

    1   Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致.相比于tim ...

  9. Python的datetime模块分析

    datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime ...

  10. Python全栈之路----常用模块----datetime模块详解

    相比于time模块,datetime模块的接口则更直观,更容易调用. datetime模块定义了下面这几个类: datetime.date:表示日期的类,常用的属性有year,month,day: d ...

随机推荐

  1. HTTP 头 Connection:close 作用

    有的网站会在服务器运行一段时间后down掉,有很多原因可能造成这种现象:比如tomcat堆和非堆内存设置不足,程序没能释放内存空间造成内存溢出,或者某些进程一直运行没能释放,造成cup资源大量消耗. ...

  2. 批处理文件(Batch Files )

    后缀是bat的文件就是批处理文件,是一种文本文件.简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令. 新建一个批处理abc.bat,里面内容如下:@echo offec ...

  3. 生成器-yield初接触

    什么是生成器? 生成器的实质就是迭代器 在python中有三种方式来获取生成器 1. 通过生成器函数 2. 通过各种推导式实现生成器 3. 通过数据的转换也可以获取生成器 将函数中的return换成y ...

  4. Outliner大纲式笔记软件介绍

    简介 什么是Outliner An outliner (or outline processor) is a specialized type of word processor used to vi ...

  5. 张高兴的 Windows 10 IoT 开发笔记:0.96 寸 I2C OLED

    This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co ...

  6. P4906 小奔关闹钟

    题目背景 由于今天是星期一,闹钟准时响了,由于小奔太困了,所以她想关停闹钟. 题目描述 可是,他的闹钟电路太复杂了,有很多个开关,每个开关都连着其他开关,其他开关又连着更多的开关,当且仅当所有开关都关 ...

  7. 企业案例 【故障修复】mysql主从故障解决过程

    由于配置有zabbix监控,某日收到zabbix监控主从报警,,查看mysql状态, showslave status \G; slave复制状态有误,SLAVE_SQL_RUNNING为NO, 接着 ...

  8. java和jdbc 登录时代码以及常见问题

    package jdbc; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;imp ...

  9. leetcode589. N-ary Tree Preorder Traversal

    python 版: class Solution(object): def preorder(self, root): ret, q = [], root and [root] while q: no ...

  10. Spring源码分析(二十二)功能扩展

    摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.增加SPEL语言的支持 二.增加属性注册编辑器 1. 使用自 ...