码迷,mamicode.com
首页 > 其他好文 > 详细

5.1.3 date对象

时间:2015-11-21 00:45:05      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

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 

年份,范围在MINYEARMAXYEAR之间。

date.month 

月份,范围在112之间。

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() 

返回日期实例的序数,主要从000日算起天数。

例子:

#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  深圳

5.1.3 date对象

标签:

原文地址:http://blog.csdn.net/caimouse/article/details/49952745

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!