python中对日期的操作主要是依靠datetime模块完成,datetime模块功能相当强大,几乎可以对与日前时间相关的所有操作,下面的隔断代码分别展示了datetime的强大能量。 datetime模块的date类常用的日期信息输入

from datetime import *
import time
print 'date.max:',date.max #date.max表示可以输出的最大日期,这里为9999年12月31日
print 'date.min:',date.min #date.min 表示可以输出的最小日期,这里为0001年1月1日
#datetime提供了这么宽广范围的日期,我们这代人肯定是够用了
print 'date.today():',date.today() #返回今天的日期
print 'date.fromtimestamp():',date.fromtimestamp(time.time()) #从unix时间戳转换成易于阅读的正常日期格式 ---- 输出结果 如下----
date.max: 9999-12-31
date.min: 0001-01-01
date.today(): 2013-08-29
date.fromtimestamp(): 2013-08-29 datetime模块的date类常用方法和属性代码演示
now = date(2013,8,30)
yesterday = now.replace(day = 29) #通过datetime的replace方法生成一个新的日期,格式为:replace(year,month,day),这句代码只替换了日,所以生成的新日期就是:datetime.date(2013,29)
print 'now:',now,',yesterday:',yesterday #打印今天和昨天的日期
print 'timetuple():',now.timetuple() #返回日期对应的time.struct_time对象
print 'weekday():',now.weekday() #返回星期几,星期一为0
print 'isoweekday():',now.isoweekday() #同样是返回星期几,星期一为1
print 'isocalendar():',now.isocalendar() #返回包括(年,第几周,星期几)的元祖,比如(2013,35,5)表示2013年第35周星期5
print 'isoformat():',now.isoformat() #返回格式如'YYYY-MM-DD’的字符串 输出结果如下:
now: 2013-08-30,yesterday: 2013-08-29
timetuple(): time.struct_time(tm_year=2013,tm_mon=8,tm_mday=30,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=4,tm_yday=242,tm_isdst=-1)
weekday(): 4
isoweekday(): 5
isocalendar(): (2013,5)
isoformat(): 2013-08-30 datetime模块的time类常用方法
# -*- coding: utf-8 -*-
from datetime import *
tm = time(10,13,45) #生成一个time对象
print 'tm:',tm
print 'hour: %d,minute: %d,second: %d,microsecond: %d' % (tm.hour,tm.minute,tm.second,tm.microsecond) #分别输出时分秒和毫秒
tm1 = tm.replace(hour = 11) #替换time的小时部分,完成的方法是replace(hour,minute,second)
print 'tm1:',tm1
tm2 = tm.replace(minute = 30) #替换time的分钟部分,完成的方法是replace(hour,second)
print 'tm2:',tm2
tm3 = tm.replace(second = 12) #替换time的秒部分,完成的方法是replace(hour,second)
print 'tm3:',tm3
print 'isoformat():',tm.isoformat() 输出结果如下
tm: 10:13:45
hour: 10,minute: 13,second: 45,microsecond: 0
tm1: 11:13:45
tm2: 10:30:45
tm3: 10:13:12
isoformat(): 10:13:45 datetime模块的datetime类常用方法代码详解
# -*- coding: utf-8 -*-
from datetime import *
import time
print 'datetime.max:',datetime.max #输出datetime的最大值
print 'datetime.min:',datetime.min #输出datetime的最小值
print 'datetime.resolution:',datetime.resolution #datetime的精度
print 'today():',datetime.today() #输出今天日期和时间
print 'now():',datetime.now() #输出当前日期和时间
print 'utcnow():',datetime.utcnow() #输出utc标准日期和时间,# 中国位于+8时间,与UTC时间相差8小时
print 'fromtimestamp(tmstmp):',datetime.fromtimestamp(time.time()) #从unix时间戳转换成正常易于阅读的本地日期时间格式
print 'utcfromtimestamp(tmstmp):',datetime.utcfromtimestamp(time.time()) #从unix时间戳转换成utc日期时间格式 输出结果如下:
datetime.max: 9999-12-31 23:59:59.999999
datetime.min: 0001-01-01 00:00:00
datetime.resolution: 0:00:00.000001
today(): 2013-08-30 10:19:47.260000
now(): 2013-08-30 10:19:47.260000
utcnow(): 2013-08-30 02:19:47.260000
fromtimestamp(tmstmp): 2013-08-30 10:19:47.260000
utcfromtimestamp(tmstmp): 2013-08-30 02:19:47.260000 datetime格式化输出代码演示
dt = datetime.now()
print '(%Y-%m-%d %H:%M:%S %f): ',dt.strftime('%Y-%m-%d %H:%M:%S %f')
print '(%Y-%m-%d %H:%M:%S %p): ',dt.strftime('%y-%m-%d %I:%M:%S %p')
print '%%a: %s ' % dt.strftime('%a')
print '%%A: %s ' % dt.strftime('%A')
print '%%b: %s ' % dt.strftime('%b')
print '%%B: %s ' % dt.strftime('%B')
print '日期时间%%c: %s ' % dt.strftime('%c')
print '日期%%x:%s ' % dt.strftime('%x')
print '时间%%X:%s ' % dt.strftime('%X')
print '今天是这周的第%s天 ' % dt.strftime('%w')
print '今天是今年的第%s天 ' % dt.strftime('%j')
print '今周是今年的第%s周 ' % dt.strftime('%U') 输出结果如下:
(%Y-%m-%d %H:%M:%S %f): 2013-08-30 10:22:30 635000
(%Y-%m-%d %H:%M:%S %p): 13-08-30 10:22:30 AM
%a: Fri
%A: Friday
%b: Aug
%B: August

日期时间%c: 08/30/13 10:22:30

日期%x:08/30/13

时间%X:10:22:30

今天是这周的第5天

今天是今年的第242天

今周是今年的第34周 在date和time类中出现的很多方法,在datetime中也都有,调用方式也差不多