2016-12-13 5 views
0

У меня есть временная временная метка matlab 735628.631944 и ее необходимо преобразовать в java.util.Date 29.01.2014 15:10:00.Конвертировать серийную временную метку matlab в java.util.Date

очень легко конвертировать в Excel

string timestamp = serialTimestamp - 693960 

выберите метка времени в Excel может преобразовать его в пользовательский формат (TT.MM.JJJ чч: мм: сс)

но как это делает работать внутри? есть ли какая-нибудь формула для преобразования в java?

Я получаю серийную временную метку Matlab из файла CSV, и я разбираю ее на Java. Для этого преобразования требуется Java-код.

ответ

2

Matlab время это количество дней с момента 1/0/0000, но java.util.Date конструктора expecs количество миллисекунд с момента 1/1/1970, поэтому

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

Здесь 719529 является MATLAB метка времени для 1/1/1970 и 86400000 количество миллисекунд за один день.

+0

Я хочу код Java. Я получаю эту временную метку Matlab из CSV-файла –

+0

Я обновил ответ –

+0

Время MATLAB - это количество дней с '0 января 0000', а не' 1 января 0000' – excaza