上面一篇已经讲了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. zabbix 监控iptables

    参看的文章链接忘了...... yum -y install iptstate 1.脚本位置和内容 [root@web1 scripts]# pwd /etc/zabbix/scripts [root ...

  2. git did not exit cleanly (exit code 128)

    github,pull和push的时候出问题,提示git did not exit cleanly (exit code 128) 使用HTTP格式的url,不要使用SSH格式的url,在官网上赋值下 ...

  3. 红黑树及其实例JDK中的TreeMap

    红黑树是一种自平衡二叉查找树(binary search tree,BST),红黑树是一种比较复杂的数据结构,红黑树查找.插入.删除元素的时间复杂度为O(log n),n是树中元素的数目.文章的要讲的 ...

  4. React Native 基础报错及解决方案记录

    刚开始上手RN,碰到很多坑,记录一下.碰到问题多去看看github上面的issue! 启动命令react-native run-ios报错 1.:xcrun: error: unable to fin ...

  5. 1925: [Sdoi2010]地精部落

    1925: [Sdoi2010]地精部落 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1929 Solved: 1227 [Submit][Statu ...

  6. Install Weblogic12C

    1. 安装JDK软件 1.1)jdk版本选择 由于jdk编译出class文件是一个二进制文件,其中前四个字节是magic位,第五到第六个字节对应于minor和major.class文件的minor和m ...

  7. ES6新特性3:函数的扩展

    本文摘自ECMAScript6入门,转载请注明出处. 一.函数参数默认值 1. ES6允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') ...

  8. PHP的Reflection反射机制

    更多内容推荐微信公众号,欢迎关注: 原文地址: http://www.nowamagic.net/php/php_Reflection.php PHP5添加了一项新的功能:Reflection.这个功 ...

  9. vmstat命令参数详解

    转自:https://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html vmstat命令是最常见的Linux/Unix监控工具,可以展 ...

  10. Hadoop源码分析(mapreduce.lib.partition/reduce/output)

    Map的结果,会通过partition分发到Reducer上.Reducer做完Reduce操作后,通过OutputFormat,进行输出.以下我们就来分析參与这个过程的类.   Mapper的结果, ...