[英]Convert matlab serial timestamp to java.util.Date
I have a matlab serial timestamp 735628.631944
and need to be converted it to java.util.Date 29.01.2014 15:10:00
. 我有一个matlab串行时间戳735628.631944
,需要将其转换为java.util.Date 29.01.2014 15:10:00
。
it is very easy to convert in excel 在excel中转换非常容易
string timestamp = serialTimestamp - 693960
select the timestamp in Excel can convert it to custom format (TT.MM.JJJ hh:mm:ss) 在Excel中选择时间戳可以将其转换为自定义格式(TT.MM.JJJ hh:mm:ss)
but how does it work internally? 但是它在内部如何运作? is there any formula for converting it in java ? 有什么公式可以在Java中转换吗?
I get matlab serial timestamp from a CSV file and I am parsing it in Java. 我从CSV文件中获取了matlab串行时间戳,并用Java进行了解析。 I require Java code for this conversion. 我需要Java代码进行此转换。
Matlab time is a number of days since 1/0/0000, but java.util.Date constructor expecs number of milliseconds since 1/1/1970, therefore Matlab时间是自1/0/0000以来的天数,但是java.util.Date构造函数自1970年1月1日以来的毫秒数,因此
double timestamp = 735628.631944;
Date d = new Date((long)( (timestamp - 719529) * 86400000 ));
Here 719529 is a matlab timestamp for 1/1/1970 and 86400000 number of milliseconds in one day. 这里的719529是1970年1月1日的Matlab时间戳,一天中的毫秒数为86400000。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.