将matlab serial timestamp转换为java.util.Date

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

在excel中转​​换是非常容易的

 string timestamp = serialTimestamp - 693960 

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

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

我从一个CSV文件中获得matlab串行时间戳,我用Javaparsing它。 我需要这个转换的Java代码。

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

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

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