Refine
This commit is contained in:
17
time_api.py
17
time_api.py
@@ -1,5 +1,4 @@
|
|||||||
from datetime import datetime, timedelta, timezone, date
|
import datetime
|
||||||
import time
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
2025-02-09T15:45:00+00:00 采用的是 ISO 8601 国际标准日期时间格式,具体特点如下:
|
2025-02-09T15:45:00+00:00 采用的是 ISO 8601 国际标准日期时间格式,具体特点如下:
|
||||||
@@ -19,7 +18,7 @@ def parse_utc_time(query_time: str) -> datetime.datetime:
|
|||||||
将一个北京时间的时间点,转换成utc
|
将一个北京时间的时间点,转换成utc
|
||||||
'''
|
'''
|
||||||
beijing_time = datetime.fromisoformat(query_time)
|
beijing_time = datetime.fromisoformat(query_time)
|
||||||
utc_time = beijing_time.astimezone(timezone.utc)
|
utc_time = beijing_time.astimezone(datetime.timezone.utc)
|
||||||
return utc_time
|
return utc_time
|
||||||
|
|
||||||
def parse_beijing_time(query_time: str) -> datetime.datetime:
|
def parse_beijing_time(query_time: str) -> datetime.datetime:
|
||||||
@@ -27,21 +26,21 @@ def parse_beijing_time(query_time: str) -> datetime.datetime:
|
|||||||
将一个 utc 的时间点,转换成北京时间
|
将一个 utc 的时间点,转换成北京时间
|
||||||
'''
|
'''
|
||||||
utc_time = datetime.fromisoformat(query_time)
|
utc_time = datetime.fromisoformat(query_time)
|
||||||
beijing_time = utc_time.astimezone(timezone(timedelta(hours=8)))
|
beijing_time = utc_time.astimezone(datetime.timezone(datetime.timedelta(hours=8)))
|
||||||
return beijing_time
|
return beijing_time
|
||||||
|
|
||||||
def to_utc_time(dt: datetime.datetime) -> datetime.datetime:
|
def to_utc_time(dt: datetime.datetime) -> datetime.datetime:
|
||||||
'''
|
'''
|
||||||
将一个北京时间的时间点,转换成utc
|
将一个北京时间的时间点,转换成utc
|
||||||
'''
|
'''
|
||||||
utc_time = dt.astimezone(timezone.utc)
|
utc_time = dt.astimezone(datetime.timezone.utc)
|
||||||
return utc_time
|
return utc_time
|
||||||
|
|
||||||
def to_beijing_time(dt: datetime.datetime) -> datetime.datetime:
|
def to_beijing_time(dt: datetime.datetime) -> datetime.datetime:
|
||||||
'''
|
'''
|
||||||
将一个 utc 的时间点,转换成北京时间
|
将一个 utc 的时间点,转换成北京时间
|
||||||
'''
|
'''
|
||||||
beijing_time = dt.astimezone(timezone(timedelta(hours=8)))
|
beijing_time = dt.astimezone(datetime.timezone(datetime.timedelta(hours=8)))
|
||||||
return beijing_time
|
return beijing_time
|
||||||
|
|
||||||
def parse_date(query_time: str) -> datetime.date:
|
def parse_date(query_time: str) -> datetime.date:
|
||||||
@@ -59,8 +58,8 @@ def to_time_range(dt: datetime, delta: float) -> tuple[datetime.datetime, dateti
|
|||||||
|
|
||||||
delta 单位是秒
|
delta 单位是秒
|
||||||
'''
|
'''
|
||||||
start_time = dt - timedelta(seconds=delta)
|
start_time = dt - datetime.timedelta(seconds=delta)
|
||||||
end_time = dt + timedelta(seconds=delta)
|
end_time = dt + datetime.timedelta(seconds=delta)
|
||||||
|
|
||||||
return (start_time, end_time)
|
return (start_time, end_time)
|
||||||
|
|
||||||
@@ -70,7 +69,7 @@ def parse_date_range(query_time: str) -> tuple[datetime.datetime, datetime.datet
|
|||||||
日期字符串格式:YYYY-MM-DD
|
日期字符串格式:YYYY-MM-DD
|
||||||
'''
|
'''
|
||||||
start_time = datetime.fromisoformat(query_time).date()
|
start_time = datetime.fromisoformat(query_time).date()
|
||||||
end_time = start_time + timedelta(days=1)
|
end_time = start_time + datetime.timedelta(days=1)
|
||||||
return (start_time, end_time)
|
return (start_time, end_time)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user