2016-06-08 5 views
6

Я хочу иметь API, который выглядит какConvert «продолжительность» «Единица» в миллисекундах

public static long toMillis (long duration, ChronoUnit unit) { 
    // magic duration to millis 
} 

toMillis(5, ChronoUnit.SECONDS); // 5000 

, конечно, я на самом деле не писать toMillis, но это по сути то, что я пытаюсь сделать.

+0

Не могли бы вы использовать [ 'ChronoUnit # getDuration()'] (https://docs.oracle.com/javase/8/docs/api/java/ time/temporal/ChronoUnit.html # getDuration--), а затем преобразовать его в миллисекунды, используя ['Duration # toMillis()'] (https://docs.oracle.com/javase/8/docs/api/java/time /Duration.html#toMillis--)? – Whymarrh

+2

Я предполагаю, что это связано с API даты/времени. Если вы просто ищете утилиту преобразования единиц, вы можете использовать 'TimeUnit.SECONDS.toMillis (duration)'. – shmosel

+0

@shmosel, как ни странно, я обнаружил, что API здесь, и это послужит моей цели, но потом я расстроился: «Почему я не могу понять, как это сделать с помощью java.time», – xenoterracide

ответ

17

Вы можете использовать Duration для этого:

Duration.of(5, ChronoUnit.SECONDS).toMillis() 

 Смежные вопросы

  • Нет связанных вопросов^_^