繁体   English   中英

如何在 Python 中将秒数组转换为 dd:hh:mm:ss?

[英]How to convert an array of seconds into dd:hh:mm:ss in Python?

我有一个 numpy 数组,它是在从https://map.neweuropeanwindatlas.eu/生成的 .nc 文件中读取后使用下面的代码创建的

timeSec = numpy.arange(0, len(time)*(time[2] - time[1])*60,  (time[2] - time[1])*60, dtype=int)

然后我找到了一种方法将此数组转换为格式“#day, hh:mm:ss”(例如“1 day, 12:30:00”)使用

timeSec = numpy.array([str(timedelta(seconds=int(s))) for s in timeSec])

但是,我希望它的格式为 dd:hh:mm:ss。 因为我必须创建一个 .csv 文件,该文件将被读入另一个需要这种特定格式的模拟软件。 还有另一种方法可以将秒数更改为我需要的格式吗? 我怀疑可能有一种方法可以进行数学运算,然后以正确的格式显示它,但我在编码方面不够精明,无法自己提出解决方案。 任何帮助或建议将不胜感激。 先感谢您。

例如:

def secToFormat(sec):
    sec = int(sec)
    dd = sec // 86400
    hh = (sec - dd * 86400) // 3600
    mm = (sec - dd * 86400 - hh * 3600) // 60
    ss = sec - dd * 86400 - hh * 3600 - mm * 60
    return f"{dd:02d}:{hh:02d}:{mm:02d}:{ss:02d}"



timeSec = numpy.array([secToFormat(s) for s in timeSec])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM