这是一个自己做的时间的类,感觉平时几种时间来回切换比较麻烦,而且用的时候也不方便,特别是数据库里可能时间戳、字符串、datetime都有,写的很菜,大神轻喷
import time, datetime
class time_test(object):
def __init__(self):
self.__time = datetime.datetime.now()
self.__set_other__()
def __set_other__(self):
self.__ts = time.mktime(self.__time.timetuple())
self.__sst = self.__time.strftime("%Y-%m-%d %H:%M:%S")
def set_str_time(self, t, m="%Y-%m—%d %H:%M:%S"):
self.__time = datetime.datetime.strptime(t, m)
self.__set_other__()
def set_time(self, t):
try:
if isinstance(t, float):
self.__time = datetime.datetime.fromtimestamp(t)
elif isinstance(t, int):
self.__time = datetime.datetime.fromtimestamp(float(t))
elif isinstance(t, datetime.datetime):
self.__time = t
elif isinstance(self.time, datetime.date):
self.__time = datetime.datetime.strptime(str(t),'%Y-%m-%d')
self.__set_other__()
except:
print('格式暂不支持,如果为字符串类型,请使用set_str_time方法')
print('-*-'*100)
print('参数为:')
print(' t:字符串类型时间')
print(' m:字符串格式,默认类别为 "%Y-%m—%d %H:%M:%S"')
print('-*-'*100)
print('例:')
print(" tt = time_test()")
print(' tt.set_str_time(t="2019-01-01 01:01:01", m="%Y-%m—%d %H:%M:%S")')
@property
def DateTime(self):
return self.__time
@property
def TimeStamp(self):
return self.__ts
@property
def StrTime(self):
return self.__sst