python--日期操作
import datetime
datetime有几个常用类:date time datetime timedelta
1. 今天日期时间
(今天时间)
>>> import datetime
>>> now = datetime.datetime.now()
>>> print now
2014-06-04 21:08:32.952591
(今天日期)
>>> print datetime.date.today()
2014-06-04
2. datetime转化为字符串(strftime)
>>> now = datetime.datetime.now()
>>> now.strftime("%Y-%m-%d")
'2014-06-04'
3. 字符串转化为datetime(strptime)
>>> print datetime.datetime.strptime("2014-06-04 11:11:11", '%Y-%m-%d %H:%M:%S')
2014-06-04 11:11:11
补充--字符串转化为时间戳
timeStamp = int(time.mktime(time.strptime("2014-07-04 15:30:20", "%Y-%m-%d %H:%M:%S")))
补充--时间戳转为字符串
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1381419600))
补充--当前时间时间戳
currTimestamp = int(time.mktime(time.strptime(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "%Y-%m-%d %H:%M:%S")))
4. 日期加减操作
在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。
构造方法:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
所有的参数都有默认值0,这些参数可以是int或float,正的或负的。
5. 昨天
>>> print datetime.datetime.now() + datetime.timedelta(days = -1)
2014-06-03 21:17:52.026808
6. 明天
>>> print datetime.datetime.now() + datetime.timedelta(days = 1)
2014-06-05 21:18:51.913408
7. 3天后
>>> print datetime.datetime.now() + datetime.timedelta(days = 3)
2014-06-05 21:18:51.913408
8. 日期之差
>>> d1 = datetime.datetime.strptime('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
>>> d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
>>> print d1 - d2
3 days, 0:00:00
9. 判断日期是否相等
if datetime.date.today.strftime("%Y-%m-%d") == "2014-06-05":
print "=="
else:
print "!="
10. 构造日期对象
参数是整数
datetime.date(2014, 6, 3)
详细请看文档:https://docs.python.org/2.7/library/datetime.html