参考网址,写的很棒:
http://www.open-open.com/lib/view/open1479363382807.html
个人封装好的函数,可以互相转换
class my_datetime(): """ Basic usage: a = datetime.datetime(2016, 9, 21, 13, 42, 8) b = "2016-11-15 15:32:12" c = u'2016-09-21 13:37:34' print type(c) d = 1474436826.0 e = 13710788676.0 ret = my_datetime() res = ret.become_datetime(e) print res print type(res) """ def __init__(self): # 缺少对utc时间的判断 pass def become_timestamp(self, dtdt): # 将时间类型转换成时间戳 if isinstance(dtdt, datetime.datetime): timestamp = time.mktime(dtdt.timetuple()) return timestamp elif isinstance(dtdt, str): if dtdt.split(" ")[1:]: a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d %H:%M:%S") timestamp = time.mktime(a_datetime.timetuple()) else: a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d") timestamp = time.mktime(a_datetime.timetuple()) return timestamp elif isinstance(dtdt, float): return dtdt # elif isinstance(dtdt, unicode): # if dtdt.split(" ")[1:]: # a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d %H:%M:%S") # timestamp = time.mktime(a_datetime.timetuple()) # else: # a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d") # timestamp = time.mktime(a_datetime.timetuple()) # return timestamp def become_datetime(self, dtdt): # 将时间类型转换成datetime类型 if isinstance(dtdt, datetime.datetime): return dtdt elif isinstance(dtdt, str): if dtdt.split(" ")[1:]: a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d %H:%M:%S") else: a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d") return a_datetime elif isinstance(dtdt, float): # 把时间戳转换成datetime类型 a_datetime = datetime.datetime.fromtimestamp(dtdt) return a_datetime # elif isinstance(dtdt, unicode): # if dtdt.split(" ")[1:]: # a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d %H:%M:%S") # else: # a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d") # return a_datetime def become_str(self, dtdt): # 把时间类型转换成字符串 if isinstance(dtdt, datetime.datetime): a_datetime = dtdt.strftime("%Y-%m-%d %H:%M:%S") return a_datetime elif isinstance(dtdt, str): return dtdt elif isinstance(dtdt, float): a_datetime_local = datetime.datetime.fromtimestamp(dtdt) a_datetime = a_datetime_local.strftime("%Y-%m-%d %H:%M:%S") return a_datetime # elif isinstance(dtdt, unicode): # # 区别:一个是strp, 一个是strf # if dtdt.split(" ")[1:]: # a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d %H:%M:%S") # a_datetime = a_datetime.strftime("%Y-%m-%d %H:%M:%S") # else: # a_datetime = datetime.datetime.strptime(dtdt, "%Y-%m-%d") # a_datetime = a_datetime.strftime("%Y-%m-%d") # return a_datetime @staticmethod def str_datetime(): return (datetime.datetime.now()).strftime("%Y-%m-%d %H:%M:%S")