datetime 模块用于操作日期时间
模块内定义了5个类:date,time,datetime,timedelta,tzinfo

1、timedelta对象,代表一个时间间隔
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]):所有参数均为可选,默认0.0,最终只有days,seconds和microseconds会保留在内部,来确保统一
类的属性:min,max,resolution
类的方法:+,-,*,//,abs(),str(),repr(),total_seconds()

2、date对象,代表一个日期(年月日)
datetime.date(year, month, day):所有参数都是必须的
类的属性:min,max,resolution
类的方法:+,-,<,today(),fromtimestamp(timestamp):从一个时间戳返回日期,时间戳可用time.time()获得,date.fromordinal(ordinal):ordinal为以从1年1月1日为1开始计数的数,返回对应日期
实例属性:year,month,day
实例方法:
replace(year, month, day):返回一个替换日期后的新对象,原对象不变
timetuple():返回time.struct_time((d.year, d.month, d.day, 0, 0, 0, d.weekday(), yday, -1))
toordinal():ordinal为以从1年1月1日为1开始计数的数,返回对应日期
weekday():星期一为0开始计数
isoweekday():星期一为1开始计数
isocalendar():每年第一个包含周四的星期为第一周,以此开始计数
isoformat():返回'YYYY-MM-DD'
__str__():同上
ctime():date(2002, 12, 4).ctime() == 'Wed Dec 4 00:00:00 2002'
strftime(format):控制格式化输出,%d、%m、%y等
__format__(format):同上

3、datetime对象,代表一个完整的日期和时间
datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
类的属性:min,max,resolution
类的方法:+,-,<,today(),now([tz]),utcnow(),fromtimestamp(timestamp[, tz]),utcfromtimestamp(timestamp),fromordinal(ordinal),combine(date, time):把date对象和time对象组合,strptime(date_string, format):用format把date_string转成datetime对象
实例属性:year,month,day,hour,minute,second,microsecond,tzinfo
实例方法:
date():返回date对象
time():返回time对象,tzinfo为None
timetz():返回有tzinfo属性的time对象
replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]):返回一个替换日期后的新对象,原对象不变
astimezone(tz):返回一个新的datetime对象,它拥有tz作为其tzinfo属性,可以使时间变为当地时间,同时又与之前的UTC时间一致,tz一定要是tzinfo的子类
utcoffset,dst,tzname():都返回self.tzinfo的对应方法
timetuple():返回time.struct_time((d.year, d.month, d.day, d.hour, d.minute, d.second, d.weekday(), yday, dst))
utctimetuple():如果实例对象是naive的,结果同上,如果是aware的,就会标准化到UTC时间
date拥有的方法它也同样拥有,因为是子类

4、time对象,代表某一天的时间,即小时,分钟,秒,微秒
datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])
类的属性:min,max,resolution
类的方法:比较,hash(用作字典的key),efficient pickling
实例属性:hour,minute,second,microsecond,tzinfo
实例方法:replace([hour[, minute[, second[, microsecond[, tzinfo]]]]]),isoformat(),__str__(),strftime(format),__format__(format),utcoffset(),dst(),tzname()

5、tzinfo对象,是一个抽象基类,不能直接实例化,子类若需要进行pickling,则__init__()方法不能带参数,否则可能会导致unpickle失败
创建一个具体子类时,根据需要重载以下方法
utcoffset(self, dt):UTC(协调世界时),返回当地时间的时区,UTC以东为正,以西为负,返回值需为timedelta对象
dst(self, dt):DST(夏令时)的设置,基本没用
tzname(self, dt):返回字符串,内容是dt对应的时区名字
以上方法都是对应于datetime和time对象的方法,datetime对象以自己作为参数,time对象传入None为参数,因此以上方法要考虑到这两种情况

格式控制如下:

Python2.7-datetime的更多相关文章

  1. Python2中生成时间戳(Epoch,或Timestamp)的常见误区

    在Python2中datetime对象没有timestamp方法,不能很方便的生成epoch,现有方法没有处理很容易导致错误.关于Epoch可以参见时区与Epoch 0 Python中生成Epoch ...

  2. python中将datetime对象转化为时间戳

    从mongodb中读取出来的记录中,时间存储在datetime对象里,返回给客户端的却要求是时间戳格式,因此需要将对应的datetime时间转化为时间戳,从stackoverflow上找到同样的问题和 ...

  3. IEEEXtreme 10.0 - Food Truck

    这是 meelo 原创的 IEEEXtreme极限编程大赛题解 Xtreme10.0 - Food Truck 题目来源 第10届IEEE极限编程大赛 https://www.hackerrank.c ...

  4. python时间处理之datetime

    python时间处理之datetime 标签: pythondateimportstringc 2012-09-12 23:21 20910人阅读 评论(0) 收藏 举报  分类: Python系列( ...

  5. Python自动化运维之9、模块之sys、os、hashlib、random、time&datetime、logging、subprocess

    python模块 用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...

  6. 如何把Python2的代码转换为Python3的代码

    如何把Python2的代码转换为Python3的代码 注: 如果对于python2和python3不熟悉的,可以参考: [整理]总结Python2(Python 2.x版本)和Python3(Pyth ...

  7. Python 第五篇(上):算法、自定义模块、系统标准模块(time 、datetime 、random 、OS 、sys 、hashlib 、json和pickle)

    一:算法回顾: 冒泡算法,也叫冒泡排序,其特点如下: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应 ...

  8. python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time & datetime模块

    正则表达式   语法:             mport re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0 ...

  9. 交叉编译Python-2.7.13到ARM(aarch32)—— 支持sqlite3

    作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...

  10. 回味Python2.7——笔记4

    一.Python 标准库概览 1.操作系统接口 os 模块提供了很多与操作系统交互的函数: >>> import os >>> os.getcwd() # Retu ...

随机推荐

  1. 把多个js函数绑定到onload时间处理函数上

    js的window.onload=function();网页加载完毕时会触发一个onload事件,这个事件与window对象相关联,是让一个函数在网页加载完毕之后得到执行.但是如果有两个韩式first ...

  2. 华中农业大学第五届程序设计大赛网络同步赛-A

    Problem A: Little Red Riding Hood Time Limit: 1 Sec  Memory Limit: 1280 MBSubmit: 860  Solved: 133[S ...

  3. Software-Defined Networking A Comprehensive Survey --阅读_day2

    3. 什么是SDN?(WHAT IS SOFTWARE-DEFINED NETWORKING?) The term SDN was originally coined to represent the ...

  4. python学习之老男孩python全栈第九期_day004知识点总结

    1. 列表list: 列表转换成字符串: s = 'kidd' s1 = '_'.join(s) # 用_连接 字符串转换成列表: split() range(头,尾,步长): [0,1,2,3,4, ...

  5. vue.js自定义指令详解

    写在文本前:相信在做vue的项目,你肯定接触了指令,我们常用vue内置的一些指令,比如v-model,v-text,v-if,v-show等等,但是这些内置指令不在本文的讲解范畴,本文想说的是其自定义 ...

  6. Javascript 回调函数理解---二娃子买肾机6

    在Javascript中什么是回调函数,我认为简单来说就是把一个函数B作为参数传递给另一个函数A,在A函数中的一定时机调用函数B. 这里可以看出回调函数形成了一个闭包,它可以访问函数A中的活动对象. ...

  7. javascript:类数组 -- 对象

    在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象  的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...

  8. 【代码笔记】iOS-UIActionSheet字体的修改

    一,效果图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIVi ...

  9. 【CLR Via C#】16 数组

    所有的数组都隐式的从System.Array抽象类派生,后者又派生自System.Object 数组是引用类型,所以会在托管堆上分配内存,数组对象占据的内存块包含数组的元素,一个类型对象指针.一个同步 ...

  10. 对Controller的单元测试

    在ASP.NET MVC项目的Controller中存在逻辑代码,也需要单元测试.查阅到的资料上,有说ASP.NET MVC框架在设计时便考虑到了满足可测试性,所以相对aspx.Winform来说针对 ...