43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
#!/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}")
|