Files
railway_cloud/app/utils/time_utils.py
2025-11-08 17:10:24 +08:00

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")