blob: 903c057157f9161bd0a1f14e9d0f585906775d9d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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 as err:
errx(f'isoparse: date overflows: \'{date}\'')
# If no offset is given, assume local time
if parsed.tzinfo is None:
parsed = parsed.astimezone()
return parsed
|