You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:MongoDB导出的NumberLong格式时间戳转日期格式方法

解决MongoDB导出毫秒时间戳字符串转Plotly可用日期格式的问题

你的问题出在用错了日期解析的格式参数——你手里的是13位的毫秒级时间戳字符串,不是%Y%m%d(YYYYMMDD)格式的日期字符串,所以之前的两种方法都没法正确解析。

直接用下面的方法就能完成转换:

方法1:直接利用pd.to_datetime的unit参数

import pandas as pd

df = pd.DataFrame({'id': {0: 84, 1: 84, 2: 84, 3: 84, 4: 124},
                   'commitDate': {0: '1617799976000',
                                  1: '1622430757000', 
                                  2: '1607286945000'}})

# 转换毫秒时间戳字符串为标准datetime格式
df['commitDate'] = pd.to_datetime(df['commitDate'], unit='ms')

方法2:先转整数再解析(兼容特殊场景)

如果列里存在空值或非标准字符串,可以先转成整数再解析,避免报错:

# 先将字符串转为整数,再指定毫秒单位解析
df['commitDate'] = pd.to_datetime(df['commitDate'].astype(int, errors='ignore'), unit='ms')

转换完成后,commitDate列会变成datetime64[ns]类型,Plotly可以直接识别这个类型用于绘制时间相关的图表。


内容的提问来源于stack exchange,提问作者Brie MerryWeather

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:21:38