python 时间模块: datetime
2016-10-11 00:07
591 查看
datetime模块中的常用类
常用类:datetime.date # 年月日 datetime.datetime # 年月日 时分秒 datetime.timedelta # 时间差对象(实数对象)
每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等
1. 时间做加减
datetime 对象之间的加减(返回值是datetime对象):例一:
import datetime d1 = datetime.datetime(2005, 2, 16) d2 = datetime.datetime(2004, 12, 31) (d1 – d2).days
例二:
import datetime starttime = datetime.datetime.now() endtime = datetime.datetime.now() print (endtime – starttime).seconds
例三:
# timedelta对象还可以做乘除操作 timespan = timedelta(days=1) timespan * 2 #还可以乘哦。代表二倍 timespan / 13
datetime 和 实数(timedelta对象之间的加减, 返回值是datetime对象):
# 初始化参数也可以用milliseconds, microseconds, seconds, minutes, hours, days(默认), weeks datetime.timedelta(minutes=x) # 例子 d1 = datetime.datetime.now() d3 = d1 + datetime.timedelta(hours=10) # 参数可以是负值
2. 时间格式化(string和时间对象互转)
最直接的当然是用str()强制转换, 不过下面的方法可以格式化想要的格式datetime.datetime.strftime # strftime将一个datetime结构格式化为一个字符串 datetime.datetime.strptime # strptime则是将一个字符串格式化为一个datetime结构。 例: datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") datetime.datetime.strptime(strdatetime, "%Y-%m-%d %H:%M:%S") # strdatetime为指定格式的时间字符串
3. 时间做比较(mysql 的datetime)
datetime.datetime 对象之间, datetime.datetime和datetime.date对象之间可以相互比较大小, 日期越新越大python 的 datetime.datetime 和 datetime.date对象可以直接和mysql datetime属性的字段值比较
补充: mysql dateitme字段的初始化默认值设置问题
解决:
方法一:
由于MySQL目前字段的默认值不支持函数,所以以create_time datetime default now() 的形式设置默认值是不可能的。代替的方案是使用TIMESTAMP类型代替DATETIME类型。
方法二:
在MySQL5.0以上版本中也可以使用trigger来实现此功能。
create table test_time ( idint(11), create_time datetime ); delimiter | create trigger default_datetime beforeinsert on test_time foreach row if new.create_time is null then set new.create_time = now(); end if;| delimiter ;
方法三:
这种方法是最简便, 在代码中,首先获取当前时间,然后转成字符串加到创建表格的sql 语句当中就好(替换掉下面的’0000-00-00’).
create table test(name varchar(10),registerTime datetime default '0000-00-00');
4.python中时间日期格式化符号:
%y 两位数的年份表示(00-99)%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
相关文章推荐
- python 学习笔记 14 -- 常用的时间模块之datetime
- python datetime模块用strftime 格式化时间
- Python处理时间 time && datetime 模块
- Python的时间模块datetime详解
- Python之日期与时间处理模块(date和datetime)
- python datetime模块用strftime 格式化时间
- python时间模块-time和datetime
- python datetime模块用strftime 格式化时间
- python datetime模块处理时间
- 【Python】随机模块random & 日期时间のtime&&datetime
- Python中time和datetime模块对时间的操作
- python的time和datetime模块 之 时间形式互转
- Python时间模块datetime、time、calendar的使用方法
- Python之日期与时间处理模块(date和datetime)
- python处理时间--- datetime模块
- python datetime模块相关 mysql 时间戳等
- 详解python时间模块中的datetime模块
- python datetime模块用strftime 格式化时间
- Python之日期与时间处理模块(date和datetime)
- Python之日期与时间处理模块(date和datetime)