设计一款Unix时间戳和日期转换工具,其代码如下:
from datetime import datetimeclass Change_Date_Time(object):def __init__(self, date_str=None, date_num=None):self.date_str = date_strself.date_num = date_num# 转时间戳def datetime2timestamp(self):format_date = datetime.strptime(self.date_str, '%a, %d %b %Y %H:%M:%S GMT')stamp = format_date.timestamp()return f"Unix时间戳为: \t{int(stamp)}"# 转日期def timestamp2datetime(self):date_time = datetime.fromtimestamp(self.date_num)return f"Unix日期为: \t\t{date_time}"# 校验传参def check_params(self):# 两个都为空或都不为空if (self.date_str is not None and self.date_num is not None) or (self.date_str is None and self.date_num is None):return "必须传入且仅传入一个参数: date_str 或 date_num!"# 传入strif self.date_str is not None:return self.datetime2timestamp()else:return self.timestamp2datetime()if __name__ == "__main__":input_type = input("切换操作序号说明如下: \n1. 日期转时间戳\n2. 时间戳转日期\n请输入切换操作序号 -> : ")if input_type.isdigit():# date_str = "Fri, 07 Mar 2025 02:40:13 GMT"# date_num = 1741305600if input_type == "1":input_str = input("请输入需要转换的日期(格式: Fri, 07 Mar 2025 02:40:13 GMT) -> :")date_time = Change_Date_Time(date_str=input_str)elif input_type == "2":input_num = int(input("请输入需要转换的时间戳(格式: 1741305600) -> :"))date_time = Change_Date_Time(date_num=input_num)else:print("无效的操作序号,请输入1或2!")result = date_time.check_params()print(result)else:print("无效的输入,请输入数字!")
使用效果如下:
- 日期转时间戳
- 时间戳转日期