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

Python中如何将numpy.datetime64转为datetime并拆分年月日?

解决方案

方法一:纯Numpy快速提取(推荐)

直接将numpy.datetime64转换为日期精度类型,再转为Python原生datetime.date对象提取年、月、日:

# 处理单个元素
date_day = tiempo[0].astype('datetime64[D]')  # 保留日期部分,忽略时分秒
date_obj = date_day.item()  # 转为Python datetime.date对象
ymd_tuple = (date_obj.year, date_obj.month, date_obj.day)
# 输出示例:(2010, 1, 1)

如果是批量处理整个时间数组:

# 批量转换为日期精度数组
date_array = tiempo.astype('datetime64[D]')
# 转为Python datetime对象数组
datetime_objs = date_array.astype(object)
# 批量生成年、月、日元组数组
ymd_tuples = np.array([(d.year, d.month, d.day) for d in datetime_objs])

方法二:修正Timestamp转换方式

你之前的Timestamp方法因时区匹配问题可能失效,调整后可正常使用:

from datetime import datetime

# 计算时间戳(注意匹配原时间时区,若原时间是UTC用utcfromtimestamp)
ts = (tiempo[0] - np.datetime64('1970-01-01T00:00:00')) // np.timedelta64(1, 's')
date_obj = datetime.fromtimestamp(ts)  # 本地时区
# 若原时间是UTC,改用:date_obj = datetime.utcfromtimestamp(ts)
ymd_tuple = (date_obj.year, date_obj.month, date_obj.day)

内容的提问来源于stack exchange,提问作者Ramiro chalar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:45:08