本文实例讲述了python日期相关操作。分享给大家供大家参考,具体如下:
用 Python 做项目时,经常会遇到与日期转换相关,日期计算相关的功能,动不动就要去查python手册,感觉麻烦,因此把自己常用的一些东西,总结了一下,总体说来到目前为止遇到如下一些需求:
1. 用python 把datetime转成字符串
2. 用python 把字符串转成datetime
3. 用python 把字符串转成时间戳形式
4. 用python 把时间戳转成字符串形式
5. 用python 把把datetime类型转外时间戳形式
6. 用python 计算两个日期之间的差
7. 用python 计算两个日期的 timestamp 差值
8. 用python 比较两个日期的大小
9. 指定日期加上 一个时间段,天,小时,或分钟之后的日期
下面是测试代码:
#coding:utf-8 ''' base on python 2.7 Created on 2012-12-14 @author: yiahomen.com ''' import datetime import time def datetime_toString(dt): """把datetime转成字符串""" return dt.strftime("%Y-%m-%d") def string_toDatetime(string): """把字符串转成datetime""" return datetime.datetime.strptime(string, "%Y-%m-%d") def string_toTimestamp(strTime): """把字符串转成时间戳形式""" return time.mktime(string_toDatetime(strTime).timetuple()) def timestamp_toString(stamp): """把时间戳转成字符串形式""" return time.strftime("%Y-%m-%d-%H", time.localtime(stamp)) def datetime_toTimestamp(dateTime): """把datetime类型转外时间戳形式""" return time.mktime(dateTime.timetuple()) def substract_DateTime(dateStr1,dateStr2): """ 返回两个日期之间的差 """ d1=string_toDatetime(dateStr1) d2=string_toDatetime(dateStr2) return d2-d1 def substract_TimeStamp(dateStr1,dateStr2): """ 两个日期的 timestamp 差值 """ ts1= string_toTimestamp(dateStr1) ts2= string_toTimestamp(dateStr2) return ts1-ts2 def compare_dateTime(dateStr1,dateStr2): """两个日期的比较, 当然也可以用timestamep方法比较,都可以实现.""" date1 = string_toDatetime(dateStr1) date2 = string_toDatetime(dateStr2) return date1.date()>date2.date() def dateTime_Add(dateStr,days=0,hours=0,minutes=0): """ 指定日期加上 一个时间段,天,小时,或分钟之后的日期 """ date1= string_toDatetime(dateStr) return date1+datetime.timedelta(days=days,hours=hours,minutes=minutes) if __name__=='__main__': print substract_DateTime('2012-12-12','2012-01-01') #-346 days, 0:00:00 print substract_DateTime('2012-12-12','2012-01-01').days #-346 print substract_TimeStamp('2012-12-12','2012-01-01') #29894400.0 print substract_TimeStamp('2012-12-12','2012-01-01')/(24*60*60),'天' #346.0 天 print compare_dateTime('2012-12-12','2012-01-01') #True print dateTime_Add('2012-12-12',days=10,hours=5,minutes=10) #2012-12-22 05:10:00
备注:根据当前日期,对年月进行加减的方法
import calendar, datetime def increment_month(when): days = calendar.monthrange(when.year, when.month)[1] return when + datetime.timedelta(days=days) now = datetime.datetime.now() print 'It is now %s' % now print 'In a month, it will be %s' % increment_month(now)
PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
python,日期
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。