blob: 33b91987303be667abec09703689921b5a2e7469 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import sys
import dateutil.parser
def errx(msg):
sys.exit(f'quarg: {msg}')
def parse_isodate(date):
try:
parsed = dateutil.parser.isoparse(date)
except ValueError as err:
errx(f'isoparse: invalid date format \'{date}\', {err}')
except OverflowError:
errx(f'isoparse: date overflows: \'{date}\'')
# If no offset is given, assume local time
if parsed.tzinfo is None:
parsed = parsed.astimezone()
return parsed
|