类date对象表示一个理想的日历里的一天日期(年,月和日)。
class datetime.date(year, month, day)
在构造对象时所有参数都必须输入。所有参数都采用整数表示,并且只能在下面范围之间:
l MINYEAR <= year <= MAXYEAR
l 1 <= month <= 12
l 1 <= day <= 小于给出年和月的总天数
如果参数超出范围,就会抛出异常ValueError。
classmethod date.today()
返回当前日期对象,相当于date.fromtimestamp(time.time())。
例子:
#python 3.4.3
import datetime
dt = datetime.date.today()
print(dt)
结果输出如下:
2015-11-03
classmethod date.fromtimestamp(timestamp)
从POSIX时间返回当前日期,比如从time.time()函数获取得当前日期。如果超出当前表示日期范围,抛出异常OverflowError。
例子:
#python 3.4.3
import datetime
import time
dt = datetime.date.fromtimestamp(time.time())
print(dt)
结果输出如下:
2015-11-03
classmethod date.fromordinal(ordinal)
从一个整数的天数转换为日期。
例子:
#python 3.4.3
import datetime
import time
dt = datetime.date.fromordinal(1)
print(‘1:‘, dt)
dt = datetime.date.fromordinal(10000)
print(‘1000:‘, dt)
dt = datetime.date.fromordinal(735900)
print(‘735900:‘, dt)
结果输出如下:
1: 0001-01-01
1000: 0028-05-18
735900: 2015-10-29
date.min
日期对象能表示最小的日期。
例子:
#python 3.4.3
import datetime
import time
print(datetime.date.min)
结果输出如下:
0001-01-01
date.max
日期对象表示最后一天,相当于date(MAXYEAR, 12, 31)。
例子:
#python 3.4.3
import datetime
import time
print(datetime.date.max)
结果输出如下:
9999-12-31
date.resolution
date对象表示最小分隔的时间,相当于timedelta(days=1)。
例子:
#python 3.4.3
import datetime
import time
print(datetime.date.resolution)
结果输出如下:
1 day, 0:00:00
date.year
年份,范围在MINYEAR和MAXYEAR之间。
date.month
月份,范围在1和12之间。
date.day
天数1和给出月份天数之间。
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
print(to.year)
print(to.month)
print(to.day)
结果输出如下:
2015
11
3
日期与时间变量相加date2 = date1 + timedelta
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
t3 = datetime.timedelta(days = 1, microseconds = 8)
print(to)
to = to + t3
print(to)
结果输出如下:
2015-11-03
2015-11-04
日期与时间变量相减date2 = date1 - timedelta
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
t3 = datetime.timedelta(days = 1, microseconds = 8)
print(to)
to = to - t3
print(to)
结果输出如下:
2015-11-03
2015-11-02
日期与日期之差timedelta = date1 - date2
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
t1 = datetime.date(2015, 10, 10)
print(to)
to = to - t1
print(to)
结果输出如下:
2015-11-03
24 days, 0:00:00
日期与日期进行比较大小date1 < date2
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
t1 = datetime.date(2015, 10, 10)
print(‘to > t1:‘, to > t1)
结果输出如下:
to > t1: True
date.replace(year, month, day)
修改实例指定参数的成员变量,返回一个新日期对象。
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
to1 = to.replace(year = 2016)
print(‘to :‘, to)
print(‘to1:‘, to1)
结果输出如下:
to : 2015-11-03
to1: 2016-11-03
date.timetuple()
返回一个time.struct_time对象,相当于time.localtime()。时、分、秒都默认为0。
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
to1 = to.timetuple()
print(‘to :‘, to)
print(‘to1:‘, to1)
结果输出如下:
to : 2015-11-03
to1: time.struct_time(tm_year=2015, tm_mon=11, tm_mday=3, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=307, tm_isdst=-1)
date.toordinal()
返回日期实例的序数,主要从0年0月0日算起天数。
例子:
#python 3.4.3
import datetime
to = datetime.date(1,12,31)
to1 = to.toordinal()
print(‘to :‘, to)
print(‘to1:‘, to1)
结果输出如下:
to : 0001-12-31
to1: 365
date.weekday()
返回一周第几天,星期一为0,星期天为6.
例子:
#python 3.4.3
import datetime
to = datetime.date(1,12,31)
print(‘to :‘, to.weekday())
to = datetime.date(2,12,31)
print(‘to :‘, to.weekday())
结果输出如下:
to : 0
to : 1
date.isoweekday()
返回ISO标准的一周第几天,星期一表示为1,星期天表法为7.
例子:
#python 3.4.3
import datetime
to = datetime.date(1,12,31)
print(‘to :‘, to.isoweekday())
to = datetime.date(2,12,31)
print(‘to :‘, to.isoweekday())
结果输出如下:
to : 1
to : 2
date.isocalendar()
返回一个ISO标准的年、周、一周第几天的元组。
例子:
#python 3.4.3
import datetime
to = datetime.date(1,12,31)
print(‘to:‘, to)
print(‘to.isocalendar :‘, to.isocalendar())
结果输出如下:
to: 0001-12-31
to.isocalendar : (2, 1, 1)
date.isoformat()
返回一个ISO8601标准的日期,一般是“YYYY-MM-DD”格式。
例子:
#python 3.4.3
import datetime
to = datetime.date(1,12,31)
print(‘to:‘, to)
print(‘to.isoformat :‘, to.isoformat())
结果输出如下:
to: 0001-12-31
to.isoformat : 0001-12-31
date.__str__()
对于date类型来说,str(d)相当于d.isoformat()。
例子:
#python 3.4.3
import datetime
to = datetime.date(1,12,31)
print(‘to:‘, to)
print(‘to.__str__() :‘, to.__str__())
结果输出如下:
to: 0001-12-31
to.__str__() : 0001-12-31
date.ctime()
返回ctime格式表示的日期字符串。相当于time.ctime(time.mktime(d.timetuple))。
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
print(‘to:‘, to)
print(‘to.ctime() :‘, to.ctime())
结果输出如下:
to: 2015-11-04
to.ctime() : Wed Nov 4 00:00:00 2015
date.strftime(format)
指定格式字符format来格式化日期。时、分和秒都是显示为0值。具体格式字符的定义看后面相关章节。
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
print(‘to:‘, to)
print(‘to.strftime() :‘, to.strftime("%A %d. %B %Y"))
结果输出如下:
to: 2015-11-04
to.strftime() : Wednesday 04. November 2015
date.__format__(format)
实现strftime的格式化功能,如果更改格式化功能可以重载这个函数。
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
print(‘to:‘, to)
print(‘to.__format__() :‘, to.__format__("%A %d. %B %Y"))
结果输出如下:
to: 2015-11-04
to.__format__() : Wednesday 04. November 2015
在字符串里格式日期
例子:
#python 3.4.3
import datetime
to = datetime.date.today()
print(‘to:‘, to)
print(‘The {1} is {0:%d}, the {2} is {0:%B}.‘.format(to, "day", "month"))
结果输出如下:
to: 2015-11-04
The day is 04, the month is November.
蔡军生 QQ:9073204 深圳