我想在不使用datetime.fromtimestamp的情况下将unixtime转换为datetime。
你知道如何在Python中创建一个将unixtime转换为datetime的方法吗?
答案 0 :(得分:0)
我强烈建议您不要这样做,至少在您对问题集有更广泛的了解之前。一个非常天真的方法可能看起来像这样(不要使用它!):
def timestamp_to_datetime(ts):
year = 1970 + ts // (60*60*24*365)
day_in_year = ts % (60*60*24*365) // (60*60*24)
hour = ts % (60*60*24*365) % (60*60*24) // (60*60)
minute = ts % (60*60*24*365) % (60*60*24) % (60*60) // 60
second = ts % (60*60*24*365) % (60*60*24) % (60*60) % 60
month = day_in_year // 30
day = day_in_year % 30
return datetime(year=year, month=month, day=day, hour=hour,
minute=minute, second=second)
当然,这个简单函数的结果远不及正确的日期。我们假设每个月有30天,这只是冰山一角。
day_in_year
构造函数中得到负ValueError
和datetime()
。你需要单独处理这些案件。