def test_decode_time():
assert _decode_time('03:04:05', True) == time(3, 4, 5, tzinfo=timezone(timedelta(0)))
# TODO: The standard specifies that the second fraction is limited to one
# digit, however udatetime only permits 3 or 6 digits.
assert _decode_time('03:04:05.600', True) == time(3, 4, 5, 600000, tzinfo=timezone(timedelta(0)))
assert _decode_time('03:04:05Z', True) == time(3, 4, 5, tzinfo=timezone(timedelta(0)))
assert _decode_time('03:04:05+00:00', True) == time(3, 4, 5, tzinfo=timezone(timedelta(0)))
assert _decode_time('03:04:05-00:00', True) == time(3, 4, 5, tzinfo=timezone(timedelta(0)))
assert _decode_time('03:04:05+07:08', True) == time(3, 4, 5, tzinfo=timezone(timedelta(hours=7, minutes=8)))
assert _decode_time('03:04:05-07:08', True) == time(3, 4, 5, tzinfo=timezone(timedelta(hours=-7, minutes=-8)))
assert _decode_time('03:04:05.600+07:08', True) == \
time(3, 4, 5, 600000, tzinfo=timezone(timedelta(hours=7, minutes=8)))
assert _decode_time('03:04:05', False) == time(3, 4, 5)
assert _decode_time('03:04:05.600', False) == time(3, 4, 5, 600000)
assert _decode_time('03:04:05Z', False) == time(3, 4, 5)
assert _decode_time('03:04:05+00:00', False) == time(3, 4, 5)
assert _decode_time('03:04:05-00:00', False) == time(3, 4, 5)
assert _decode_time('12:00:00+07:08', False) == time(4, 52)
assert _decode_time('12:00:00-07:08', False) == time(19, 8)
评论列表
文章目录