40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from datetime import datetime
|
|
from typing import Union
|
|
|
|
class TimeUtils:
|
|
"""时间处理工具类"""
|
|
|
|
@staticmethod
|
|
def string_to_date_string(time_string: str, fmt: str = "%Y-%m-%d %H:%M:%S.%f") -> str:
|
|
"""
|
|
将字符串格式的时间(如 '2025-11-04 08:39:48')转换为日期字符串 '2025-11-04'。
|
|
|
|
Args:
|
|
time_string: 输入的时间字符串。
|
|
fmt: 输入时间字符串的格式。
|
|
|
|
Returns:
|
|
格式为 'YYYY-MM-DD' 的日期字符串。
|
|
"""
|
|
try:
|
|
dt_object = datetime.strptime(time_string, fmt)
|
|
return dt_object.strftime("%Y-%m-%d")
|
|
except (ValueError, TypeError):
|
|
# 如果转换失败
|
|
return time_string
|
|
|
|
@staticmethod
|
|
def datetime_to_date_string(dt: datetime) -> str:
|
|
"""
|
|
将datetime对象转换为日期字符串 '2025-11-04'。
|
|
|
|
Args:
|
|
dt: 输入的datetime对象。
|
|
|
|
Returns:
|
|
格式为 'YYYY-MM-DD' 的日期字符串。
|
|
"""
|
|
if not isinstance(dt, datetime):
|
|
return dt
|
|
return dt.strftime("%Y-%m-%d")
|