标签:
类time创建的对象表示本地时间,与任何特别日期没有关系。可以通过时区tzinfo来调整时间。
class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
所有参数都是可选的。除了tzinfo对象,其它参数都是整数表示。其中参数范围如下:
l 0 <= hour < 24
l 0 <= minute < 60
l 0 <= second < 60
l 0 <= microsecond < 1000000
当参数范围超出这些范围时,就会抛出异常ValueError。
主要用来创建一个time对象。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10)
print(‘time:‘, time)
结果输出如下:
time: 10:00:00
类属性:
time.min
返回表示最小的时间对象。
time.max
返回表示最大的时间对象。
time.resolution
返回两个时间之差最小分别的精度。目前是一个微秒。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10)
print(‘time.min‘, time.min)
print(‘time.max‘, time.max)
print(‘time.resolution‘, time.resolution)
结果输出如下:
time.min 00:00:00
time.max 23:59:59.999999
time.resolution 0:00:00.000001
实例属性,只能读取不能修改:
time.hour
范围是24小时。
time.minute
范围是60分钟。
time.second
范围是60秒。
time.microsecond
范围是1000000微秒。
time.tzinfo
保存时区信息对象或者没有时保存为None。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10, minute = 1, second = 20, microsecond = 30)
print(‘time.hour:‘, time.hour)
print(‘time.minute:‘, time.minute)
print(‘time.second:‘, time.second)
print(‘time.microsecond:‘, time.microsecond)
结果输出如下:
time.hour: 10
time.minute: 1
time.second: 20
time.microsecond: 30
time.replace([hour[, minute[, second[, microsecond[, tzinfo]]]]])
通过修改部分参数得到一个新的时间对象,其它没有修改的参数与实例一致。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10, minute = 1, second = 20, microsecond = 30)
new = time.replace(20)
print(‘time.hour:‘, time.hour)
print(‘new.hour:‘, new.hour)
结果输出如下:
time.hour: 10
new.hour: 20
time.isoformat()
返回一个使用ISO8601标准格式化后的时间字符串。如果微秒不为0,则按格式HH:MM:SS.mmmmmm来格式化,如果微秒为0,则按HH:MM:SS来格式化。如果还有时区,那么在后面添加时区时间:HH:MM:SS.mmmmmm+HH:MM或HH:MM:SS+HH:MM。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10, minute = 1, second = 20, microsecond = 30)
print(‘time.isoformat:‘, time.isoformat())
结果输出如下:
time.isoformat: 10:01:20.000030
time.__str__()
time对象的str()函数格式化,str(t)等同于t.isoformat()。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10, minute = 1, second = 20, microsecond = 30)
print(‘time.isoformat:‘, str(time))
结果输出如下:
time.isoformat: 10:01:20.000030
time.strftime(format)
通过格式字符串来控制格式化时间。
例子:
#python 3.4.3
import datetime
time = datetime.time(hour = 10, minute = 1, second = 20, microsecond = 30)
print(‘time.isoformat:‘, time.strftime(‘%H:%M:%S‘))
结果输出如下:
time.isoformat: 10:01:20
time.__format__(format)
与time.strftime()相同功能,只是这个函数使用在str.format()调用。
time.utcoffset()
返回UTC的相对时间。如果时区tzinfo为空,返回None。如果非空,返回self.tzinfo.utcoffset(None)。
time.dst()
如果tzinfo返回None。如果tzinfo非空,返回self.tzinfo.dst(None)。
time.tzname()
返回时区的名称。如果tzinfo为空,返回None。
例子:
#python 3.4.3
import datetime
class GMT8(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta(hours=8)
def dst(self, dt):
return datetime.timedelta(0)
def tzname(self,dt):
return "Asia/Beijing"
t = datetime.time(12, 10, 30, tzinfo=GMT8())
print(t)
print(t.dst())
print(t.tzname())
print(‘The {} is {:%H:%M}.‘.format("time", t))
结果输出如下:
12:10:30+08:00
0:00:00
Asia/Beijing
The time is 12:10.
蔡军生 QQ:9073204 深圳
标签:
原文地址:http://blog.csdn.net/caimouse/article/details/50042979