【发布时间】:2019-10-04 08:32:09
【问题描述】:
【问题讨论】:
-
DateTime.FromOADate(42954.49986111111);-> 2017-08-07T11:59:48.0000000。请参阅stackoverflow.com/questions/4538321/… 了解更多信息
【问题讨论】:
DateTime.FromOADate(42954.49986111111); -> 2017-08-07T11:59:48.0000000。请参阅stackoverflow.com/questions/4538321/… 了解更多信息
Excel 将日期和时间作为浮点数存储为自 1900/01/01 00:00:00 以来的天数。所以 42954.49986111111 代表 2017-08-07 11:59:48.0000000。
.Net 已经可以理解这种“格式”了:
DateTime.FromOADate(42954.49986111111);
【讨论】:
看起来这是从 1900 年开始的几天,所以要获得时间戳,您应该将此值添加到 1900/01/01 时间戳乘以 1000 * 24 * 60 * 60
它应该可以工作
const d = Date.UTC(1900, 1, 1) + 24 * 3600 * 1000 * 42982
console.log(new Date(d).toString())
【讨论】:
DateTime.FromOADate()
我认为它是任何日期格式。
moment(42954.4998611111).format('MMMM Do YYYY, h:mm:ss a')
"January 1st 1970, 5:30:42 am"
【讨论】: