【问题标题】:Convert matlab serial timestamp to java.util.Date将 matlab 串行时间戳转换为 java.util.Date
【发布时间】:2017-04-28 10:00:28
【问题描述】:

我有一个 matlab 串行时间戳 735628.631944,需要将其转换为 java.util.Date 29.01.2014 15:10:00

在excel中转​​换很容易

string timestamp = serialTimestamp - 693960

选择Excel中的时间戳可以将其转换为自定义格式(TT.MM.JJJ hh:mm:ss)

但它在内部是如何工作的?有没有在java中转换它的公式?

我从 CSV 文件中获取 matlab 串行时间戳,并在 Java 中对其进行解析。我需要 Java 代码进行此转换。

【问题讨论】:

    标签: java excel matlab date


    【解决方案1】:

    Matlab 时间是自 0000 年 1 月 0 日以来的天数,但 java.util.Date 构造函数预计自 1970 年 1 月 1 日以来的毫秒数,因此

    double timestamp = 735628.631944;
    Date d = new Date((long)( (timestamp - 719529) * 86400000 ));
    

    这里的 719529 是 1970 年 1 月 1 日的 matlab 时间戳和一天中的 86400000 毫秒数。

    【讨论】:

    • 我想要 Java 代码。我从 CSV 文件中获取了这个 matlab 串行时间戳
    • MATLAB 时间是从 January 0, 0000 开始的天数,而不是 January 1, 0000
    猜你喜欢
    • 2021-08-14
    • 2020-11-22
    • 2013-05-22
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    相关资源
    最近更新 更多