在Python中将日十进制数数组转换为unix时间戳

2024-09-28 21:59:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组数字(例如279.341、279.345、279.348)与2017年的日期和时间有关(预计为2017年10月6日)。为了能够将此数据与另一个数据集进行比较,我需要将该数组转换为UNIX时间戳数组

我在matlab中成功地完成了类似的工作(代码如下),但不知道如何将其转换为Python

MatLab:

adcpTimeStr = datestr(adcp.adcp_day_num,'2017 mmm dd HH:MM:SS'); 
adcpTimeRaw = datetime(adcpTimeStr,'InputFormat','yyyy MMM dd HH:mm:ss');
adcpTimenumRaw = datenum(adcpTimeRaw)';

将数组转换为UNIX时间戳的好方法是什么


Tags: 数据代码hh时间unix数字数组dd
1条回答
网友
1楼 · 发布于 2024-09-28 21:59:11

假设这些数字是一年中的小数天(UTC),而这一年是2017年,在Python中,您可以这样做

from datetime import datetime, timedelta, timezone

year = datetime(2017,1,1, tzinfo=timezone.utc) # the starting point
doy = [279.341, 279.345, 279.348]

# add days to starting point as timedelta and call timestamp() method:
unix_t = [(year+timedelta(d)).timestamp() for d in doy]
# [1507363862.4, 1507364208.0, 1507364467.2]

相关问题 更多 >