#!/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}")