-1
Я пытаюсь преобразовать функцию Excel SECOND()
(описана here) в Java.Явный эквивалент функции SECOND() в Excel
Пожалуйста, помогите, если вы знаете функцию Java, которая делает то же самое.
Я пытаюсь преобразовать функцию Excel SECOND()
(описана here) в Java.Явный эквивалент функции SECOND() в Excel
Пожалуйста, помогите, если вы знаете функцию Java, которая делает то же самое.
В Excel даты и время хранятся как double
, а дробная часть - это время суток (см. Dates And Times In Excel).
Таким образом, чтобы получить секунд, вы умножить на количество секунд в день, и получить остаток от деления на 60:
double time = 42369.546594213; // 2015-12-31 13:07:05.740
int seconds = (int)(time * 86400 % 60); // 5
Или, если вы хотите, чтобы все компоненты времени:
int hours = (int)(time * 24 % 24); // 13
int minutes = (int)(time * 1440 % 60); // 7
int seconds = (int)(time * 86400 % 60); // 5
int millis = (int)(time * 86400000 % 1000); // 740
Это может помочь, если вы должны [изменить] свой вопрос и описать контекст, в котором вы будете использовать эту функцию. Например, будете ли вы работать с истинными значениями даты и времени Java? Пожалуйста, см. [Ask] дополнительные советы о том, как задать вопрос высокого качества. –
Благодарим за редактирование вопроса более читаемым. Я действительно лучше понимаю это. :-) – user2760868