Python系列之datetime

Python系列之datetime
可爱可倾datetime
datetime
模块提供了处理日期和时间的类。它支持日期、时间、时区等操作。
1 获取日期和时间
import datetime
def get_time(delta, unit, hours_offset=8):
"""
:param delta: delta time
:param unit: options: 'minutes', 'hours', 'days' or 'seconds' or 'none'
:param hours_offset: East 8 time zone offset (Default value = 8)
"""
# 创建东八区时区对象,偏移量为8小时
tz_east_8 = datetime.timezone(datetime.timedelta(hours=hours_offset))
# 获取当前时间
now = datetime.datetime.now(tz_east_8)
# 计算未来时间
if unit == "none":
return now
elif unit == "seconds":
return now + datetime.timedelta(seconds=delta)
elif unit == "minutes":
return now + datetime.timedelta(minutes=delta)
elif unit == "hours":
return now + datetime.timedelta(hours=delta)
elif unit == "days":
return now + datetime.timedelta(days=delta)
else:
raise ValueError("Unsupported unit. Please use 'seconds', 'minutes', 'hours', 'days' or 'none'.")
# 示例
# 获取当前时间
current_time = get_time(0, "none")
print("Current time:", current_time)
# 获取未来时间
future_time = get_time(10, "minutes")
print("Future time:", future_time)
2 当前时间转为字符串
将 datetime.datetime 或 datetime.date 类型转化为字符串格式
import datetime
def datetime_to_string(dt, format="%Y-%m-%d %H:%M:%S"):
"""
:param dt: datetime.datetime or datetime.date
:param format: format string
:return: formatted string
"""
if isinstance(dt, datetime.datetime):
return dt.strftime(format)
elif isinstance(dt, datetime.date):
return dt.strftime(format.split(" ")[0])
else:
raise ValueError("Unsupported type. Please use datetime.datetime or datetime.date.")
# 示例
# 获取当前时间
current_time = datetime.datetime.now()
# 转换为字符串
current_time_str = datetime_to_string(current_time)
print("Current time as string:", current_time_str)
# 转换为日期
current_date = datetime.date.today()
# 转换为字符串
current_date_str = datetime_to_string(current_date, format="%Y-%m-%d")
print("Current date as string:", current_date_str)
评论
匿名评论隐私政策
TwikooGiscus
✅ 若未加载出评论区,请刷新页面~






