Python ❀ Unix时间戳转日期或日期转时间戳工具分享
设计一款Unix时间戳和日期转换工具,其代码如下:
from datetime import datetime
class Change_Date_Time(object):
def __init__(self, date_str=None, date_num=None):
self.date_str = date_str
self.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!"
# 传入str
if 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 = 1741305600
if 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("无效的输入,请输入数字!")
使用效果如下:
- 日期转时间戳
- 时间戳转日期