minguo_date_converter.py
· 511 B · Python
原始文件
def minguo_yyyymmdd_to_date(s: str) -> date:
"""
TWSE Date 格式: 1150202 (民國115年02月02日)
-> 西元: 2026-02-02
"""
s = s.strip()
if len(s) != 7 or not s.isdigit():
raise ValueError(f"Invalid Date format: {s!r}")
y = int(s[:3]) + 1911
m = int(s[3:5])
d = int(s[5:7])
return date(y, m, d)
def roc_date_to_date(s: str) -> date:
# 例:115/02/10(民國)
s = s.strip()
y, m, d = s.split("/")
return date(int(y) + 1911, int(m), int(d))
| 1 | def minguo_yyyymmdd_to_date(s: str) -> date: |
| 2 | """ |
| 3 | TWSE Date 格式: 1150202 (民國115年02月02日) |
| 4 | -> 西元: 2026-02-02 |
| 5 | """ |
| 6 | s = s.strip() |
| 7 | if len(s) != 7 or not s.isdigit(): |
| 8 | raise ValueError(f"Invalid Date format: {s!r}") |
| 9 | y = int(s[:3]) + 1911 |
| 10 | m = int(s[3:5]) |
| 11 | d = int(s[5:7]) |
| 12 | return date(y, m, d) |
| 13 | |
| 14 | |
| 15 | def roc_date_to_date(s: str) -> date: |
| 16 | # 例:115/02/10(民國) |
| 17 | s = s.strip() |
| 18 | y, m, d = s.split("/") |
| 19 | return date(int(y) + 1911, int(m), int(d)) |