ETest-Vue-FastAPI/test_isoformat.py

43 lines
1.1 KiB
Python
Raw Permalink Normal View History

2026-04-15 19:06:01 +08:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
sys.path.insert(0, 'ruoyi-fastapi-backend')
from datetime import date, datetime
# 测试 isoformat 在各种情况下的表现
test_cases = [
date(2026, 1, 12),
datetime(2026, 4, 15, 13, 27, 44),
datetime(1, 1, 1, 0, 0, 0), # 最小日期
datetime(9999, 12, 31, 23, 59, 59), # 最大日期
]
print("Testing isoformat...")
for d in test_cases:
try:
result = d.isoformat()
print(f"[OK] {d} -> {result}")
except Exception as e:
print(f"[ERR] {d}: {e}")
# 测试带时区的日期
from datetime import timezone, timedelta
print("\nTesting with timezone...")
try:
dt = datetime(2026, 4, 15, 13, 27, 44, tzinfo=timezone(timedelta(hours=8)))
result = dt.isoformat()
print(f"[OK] {dt} -> {result}")
except Exception as e:
print(f"[ERR] {dt}: {e}")
# 测试 json.dumps 对日期的处理
import json
print("\nTesting json.dumps with default...")
for d in test_cases:
try:
result = json.dumps({'date': d}, default=str)
print(f"[OK] {d} -> {result}")
except Exception as e:
print(f"[ERR] {d}: {e}")