python 时间操作集合
2013-06-09 13:18
330 查看
字符串转换为时间戳
首先把字符串转换成<type 'time.struct_time'>类型struc_time = time.strptime(“2013-06-29 11:17:11”,"%Y-%m-%d %H:%M:%S")接着把<type 'time.struct_time'> 转换为<type 'float'> 的字符串
time.mktime(struc_time)简写为
c_time = time.mktime(time.strptime(“2013-06-29 11:17:11”,"%Y-%m-%d %H:%M:%S"))
与mktime想对应的为localtime 把<type 'float'> 的字符串 转换为<type 'time.struct_time'>类型
value = time.localtime(s_time_str)
与strptime想对应的函数为strftime 把<type 'time.struct_time'>类型格式化成字符串
time.strftime('%Y-%m-%d %H:%M:%S',value)
import time,datetime s = '(2011-07-01 17:38:49)' s = s.lstrip('(').rstrip(')') d = datetime.datetime.strptime(s,"%Y-%m-%d %H:%M:%S") #格式符参考下表 print time.mktime(d.timetuple())
取当前时间
方法1import datetime now = datetime.datetime.now() now_time = datetime.datetime.strftime(now,'%Y年%m月%d日 %H:%M:%S ')
方法 2
import time now = time.time() now_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(now))
取一个月以前的时间
month_ago = datetime.datetime.now()-datetime.timedelta(days=30) month_ago = datetime.datetime.strftime(month_ago,'%Y-%m-%d %H:%M:%S')
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 当前时区的名称
%% %号本身
本周星期一和星期天的日期
this_week_start_dt = date1-datetime.timedelta(days=date1.weekday()) this_week_start_dt = this_week_start_dt.strftime('%Y-%m-%d') this_week_end_dt = date1+datetime.timedelta(days=6-date1.weekday())
上个星期一和星期天的日期
last_week_start_dt = date1-datetime.timedelta(days=date1.weekday()+7) last_week_end_dt = date1-datetime.timedelta(days=date1.weekday()+1)
本月一号和最后一天的日期
y=date1.year m = date1.month month_start_dt = datetime.date(y,m,1) if m = 12: month_end_dt = datetime.date(y+1,1,1) - datetime.timedelta(days=1) else: month_end_dt = datetime.date(y,m+1,1) - datetime.timedelta(days=1)
上个月的第一天和最后一天
if m==1: #如果是1月 start_date=datetime.date(y-1,12,1) else: start_date=datetime.date(y,m-1,1) end_date=datetime.date(y,m,1) - datetime.timedelta(days=1)
这个季度的第一天和最后一天的日期
y=date1.year m = date1.month if month in (1,2,3): quarter_start_dt = datetime.date(y,1,1) quarter_end_dt = datetime.date(y,4,1) - datetime.timedelta(days=1) elif month in (4,5,6): quarter_start_dt = datetime.date(y,4,1) quarter_end_dt = datetime.date(y,7,1) - datetime.timedelta(days=1) elif month in (7,8,9): quarter_start_dt = datetime.date(y,7,1) quarter_end_dt = datetime.date(y,10,1) - datetime.timedelta(days=1) else: quarter_start_dt = datetime.date(y,10,1) quarter_end_dt = datetime.date(y+1,1,1) - datetime.timedelta(days=1)
本季度天数 及 本季度剩余的天数
quarter_days = (quarter_end_dt - quarter_start_dt).days +1 quarter_rem = (quarter_end_dt - date1).days
相关文章推荐
- python---实战3统计特定时间次数(文件操作、替换、列表、排序、去重、元组、集合)
- Python---set集合类型操作总结
- python 时间操作
- python学习之时间处理---强悍的时间操作大整合
- python操作日期和时间的方法
- paip.日期时间操作以及时间戳uapi php java python 总结
- python---集合set常用方法和操作
- python时间操作
- Python集合(set)类型的操作
- [python]时间操作
- Python日期时间操作学习
- Python 集合set()添加删除、交集、并集、集合操作详解
- python文件夹遍历,文件操作,获取文件修改创建时间
- python操作日期和时间的方法
- Python基础操作 列表 字典结构 集合 循环 判断 复制操作 函数
- python基础 第一天 (列表操作、字典操作,集合操作,文件操作)
- python 集合的操作
- 22、Selenium + Python 实现 UI 自动化测试-操作日期时间控件
- Python集合(set)类型的操作
- python 的时间操作datetime ,不支持减年或月阿!!自己实现