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. ssm中逆向工程与分页的应用

    昨天对springboot中的mybatis逆向工程与分页应用进行了整理,今天对ssm项目中的逆向工程与分页进行整理. 项目运行环境:eclipse+jdk1.8+maven+tomcat 一.搭建s ...

  2. SpringBoot拦截器中无法注入bean的解决方法

    SpringBoot拦截器中无法注入bean的解决方法 在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用 但是如果直接注入会发现无法注入而报空指针异常 解决方法: 在注册 ...

  3. Linux中编译安装软件的基本流程

    1. 准备软件包源文件 从互联网下载相应的软件包(以 .tar.gz 或 .tar.bz2 为后缀),将tarball文件解压到/usr/local/src目录下,并切换到软件包目录下 : 2. ./ ...

  4. AJAX通过HTML请求C#一般处理程序

    AJAX通过HTML请求C#一般处理程序 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"&g ...

  5. PHP学习目标

    课程阶段学习目标 阶段一: 目标:能够使用DIV+CSS布局出任意的网页页面 说明:根据PSD图设计,使用DIV+CSS布局符合WEB标准.多浏览器兼容的网页,能建立网站制作所需要的模板 阶段二: 目 ...

  6. Mariadb MySQL、Mariadb中GROUP_CONCAT函数使用介绍

    MySQL.Mariadb中GROUP_CONCAT 函数使用介绍 By:授客 QQ:1033553122 语法: GROUP_CONCAT([DISTINCT] column_name [ORDER ...

  7. springboot 1.3.5升级1.5.9后 默认使用tomcat 8.5版本 get请求报400 异常信息为 The valid characters are defined in RFC 7230 and RFC 3986

    1.springboot 1.3.5升级1.5.9后 默认使用tomcat 8.5版本而之前用的是tomcat7    get请求报400 异常信息为 The valid characters are ...

  8. TreeView失去焦点时亮显选中状态

    Windows Form下设置属性即可. TreeView.HideSelection = false

  9. 【Python】TypeError: a bytes-like object is required, not 'str'解决

    对所使用的字符串类型调用encode()方法进行转换即可

  10. IE中操作粘贴板复制和粘贴

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...