datetime 是基本的时间日期类,包括 date 和 datetime 对象。例如,查询当前的日期和时间:
>>> datetime.date.today() datetime.date(2006, 3, 21) >>> datetime.datetime.today() datetime.datetime(2006, 3, 21, 16, 16, 8, 284853)
today() 函数返回值是 date 或 datetime 对象,可以查看year, month, day 和 hour, minute, second 等属性,例如:
>>> datetime.date.today().day 21 >>> datetime.datetime.today().hour 16
weekday(), ctime() 等函数还可以得到特殊要求的输出,例如:
>>> datetime.datetime.today().weekday() 1 >>> datetime.datetime.today().ctime() 'Tue Mar 21 16:39:31 2006'
strftime() 函数支持 datetime 类的 date, datetime 和 time 对象,它可以将时间日期以指定格式输出,例如:
>>> datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S') '2006-03-21 16:42:34'
查看所有格式化字符:http://www.python.org/doc/2.4/lib/module-time.html
time 类也支持 strftime() 函数,例如:
>>> time.strftime('%Y-%m-%d %H:%M:%S') '2006-03-21 16:42:34'
datetime 的 datetime 和 time 对象可以直接运算,例如:
>>> d1 = datetime.date.today() >>> d2 = datetime.date(2005, 2, 16) >>> (d1 - d2).days 398 >>> d1 = datetime.datetime.today() >>> d2 = datetime.datetime(2005, 2, 16) >>> (d1 - d2).seconds 60735
date/datetime 对象可以与 timedelta 对象相互加减运算。两个日期相减后的结果是 timedelta 对象,可以查看 days 或 seconds 属性,例如:
>>> start = datetime.datetime.now() >>> end = datetime.datetime.now() >>> print (end - start).seconds 5
不带参数的 now() 函数和 today() 函数功能是一样的。给 timedelta 赋值后,可以与 date/datetime 对象进行运算,运算后的结果是 date/datetime 类型。例如,计算当前日期前/后三十一天的时间:
>>> datetime.date.today() - datetime.timedelta(31) datetime.date(2006, 2, 18) >>> datetime.date.today() + datetime.timedelta(31) datetime.date(2006, 4, 21)
给 timedelta 赋值时默认值为天数,也可以指定 weeks, hours, minutes 等参数,例如:
>>> d1 = datetime.datetime.now() >>> d2 = d1 + datetime.timedelta(hours=10) >>> d2.ctime() 'Sat Aug 20 16:58:50 2005'
Comments
There are currently no comments
New Comment