forked from erp-dev/erp
feat: shipment change && version modelize
This commit is contained in:
23
api_v1/external_datetime.py
Normal file
23
api_v1/external_datetime.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from datetime import datetime
|
||||
|
||||
from django.utils import timezone
|
||||
|
||||
|
||||
def parse_external_china_datetime(value: str | None):
|
||||
"""外部 records 的时间字符串业务上是中国时间,即使误带 Z 也按本地时间解释。"""
|
||||
if not value:
|
||||
return None
|
||||
text = str(value).strip()
|
||||
if not text:
|
||||
return None
|
||||
|
||||
normalized = text[:-1] if text.endswith('Z') else text
|
||||
try:
|
||||
dt = datetime.fromisoformat(normalized)
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
tz = timezone.get_current_timezone()
|
||||
if timezone.is_aware(dt):
|
||||
dt = dt.replace(tzinfo=None)
|
||||
return timezone.make_aware(dt, tz)
|
||||
Reference in New Issue
Block a user