(dt_str: str)
| 66 | |
| 67 | |
| 68 | def _normalize_datetime_str(dt_str: str) -> str: |
| 69 | if dt_str[-1].lower() == "z": |
| 70 | dt_str = dt_str[:-1] + "+00:00" |
| 71 | |
| 72 | date = dt_str[:10] |
| 73 | rest = dt_str[11:] |
| 74 | |
| 75 | if "+" in rest: |
| 76 | sign = "+" |
| 77 | elif "-" in rest: |
| 78 | sign = "-" |
| 79 | else: |
| 80 | sign = "" |
| 81 | |
| 82 | if sign: |
| 83 | time, _, offset = rest.partition(sign) |
| 84 | else: |
| 85 | time = rest |
| 86 | offset = "" |
| 87 | |
| 88 | time = time.rstrip("0") if "." in time else time |
| 89 | return date + "T" + time + sign + offset |
| 90 | |
| 91 | |
| 92 | def _normalize_localtime_str(lt_str: str) -> str: |