View difference between Paste ID: a4XszBhE and c51AGLyV
SHOW: | | - or go back to the newest paste.
1
import datetime
2
import json
3
import re
4
5
rdate = re.compile(r'/Date\((\d+)([+-]\d\d)(\d\d)\)/')
6
7
decoder = json.JSONDecoder()
8
scanstring = decoder.parse_string
9
def parse_date_or_string(*args):
10-
    print('here')
10+
11
    print(s)
12
    m = rdate.match(s)
13
    if not m:
14
        return s, end
15
    ts = int(m.group(1)) / 1000
16
    hroff = int(m.group(2))
17
    minoff = int(m.group(3))
18
    off = datetime.timedelta(hours=hroff, minutes=minoff)
19
    tz = datetime.timezone(off)
20
    return datetime.datetime.fromtimestamp(ts).replace(tzinfo=tz), end
21
decoder.parse_string = parse_date_or_string
22
decoder.scan_once = json.scanner.py_make_scanner(decoder)
23
24
print(decoder.decode("""{"timestamp": "/Date(1405961743000+0100)/"}"""))