如何将嵌套字典中的UNIX时间戳原地转换为可读时间?
解决方案:原地转换嵌套字典中的所有Unix时间戳
没问题,我来帮你搞定这个原地转换的需求!首先注意你之前的代码里有个小拼写错误:datatime应该是datetime,先纠正这个细节。
要实现原地修改所有嵌套的Time值,你只需要遍历目标列表里的每个字典元素,直接替换Time对应的值就行,具体代码如下:
import datetime # 你的原始字典 myVariableDictionary = {'result':{'result':[{'Time':1580619600},{'Time':1580619600}]}} # 遍历嵌套列表中的每个字典,原地更新Time字段 for item in myVariableDictionary['result']['result']: # 直接替换原字典的Time值,实现原地修改 item['Time'] = datetime.datetime.fromtimestamp(item['Time'])
关键说明:
- 因为Python中字典是可变对象,我们直接操作列表中的字典实例,修改
item['Time']就是直接修改原字典里的对应值,完全符合你“原地转换”的要求。 - 你的示例时间戳是10位数字(秒级),如果实际场景中遇到13位的毫秒级时间戳,只需要先除以1000:
datetime.datetime.fromtimestamp(item['Time'] / 1000)。
验证修改结果
你可以打印修改后的字典确认效果:
print(myVariableDictionary) # 输出示例(时间根据你的时区可能略有不同): # {'result': {'result': [{'Time': datetime.datetime(2020, 2, 1, 1, 0)}, {'Time': datetime.datetime(2020, 2, 1, 1, 0)}]}}
内容的提问来源于stack exchange,提问作者Ecaz
相关产品推荐
相关产品推荐

