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. 解决 iframe 后退不是主页面后退(浏览器 history)问题

    前言:项目中的主页面里有 iframe,切换 iframe 的 src 地址之后,再点浏览器的回退之后,会导致 iframe 里面回退,而不是主页面回退. 问题 浏览器机制的原因,在 iframe 导 ...

  2. 地区picker 各选择器,优劣分析

    移动端选择器picker有很多,各大ui组件都有自己的picker,比如light7,HUI,MUI,jqueryUI等等.但是,我发现他们都有各种各样的问题.这次的地区选择,需要地区的省份+市+经纬 ...

  3. 跨域cors中如何传递cookie(前端为什么无法向后端传递cookie?)

    没有跨域 后端server只要在回应头部‘set-cookie’,那么就会有cookie产生并保存在客户端client. 等到client再次向后端server发送请求时浏览器的机制就会自动携带coo ...

  4. Django 处理modelform错误信息

    cp:https://blog.csdn.net/qq_34964399/article/details/79781071

  5. centos安装pip3

    安装pip3 1:安装依赖 yum install openssl-devel -y yum install zlib-devel -y 2:安装setuptools wget --no-check- ...

  6. As3截图转换为ByteArray传送给后台node的一种方法

    最近将以前用As3+Php做的一个画板拿出来改成了As3+nodejs(expressjs4). Node: 1. 将图片存放的路径设置为静态公开的路径. app.use(express.static ...

  7. SqlServer数据库设计一个字段的值是由其他字段运算结果所得

    最近在做项目时,发现数据库的一些字段不能执行sql语句进行修改,仔细观察才发现,它是由其他字段运算结果所得.这样就不需程序员通过代码执行运算结果更新数据库,感觉很实用,而网上教材好像还挺少的,所以把教 ...

  8. 如何在 Azure 中均衡 Windows 虚拟机负载以创建具有高可用性的应用程序

    负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...

  9. Oracle EBS AP 发票放弃行

    -- purpose: 应付发票放弃发票行 -- 12.2.6 环境 -- author:jenrry create_date: 2017-06-07 declare l_dummy_msg VARC ...

  10. Tmux 使用教程 on Fedora 28

    Tmux 和 gun/screen 都是优秀的终端复用软件,它的关键的好处就是,保持ssh 登录连接session不中断,并且能支持分屏操作,具备丰富的命令行参数,可以进行动态布局和操作.可以看作为s ...