developer tip

일에서 밀리 초로 변환

copycodes 2020. 12. 2. 21:28
반응형

일에서 밀리 초로 변환


일을 밀리 초로 변환하는 함수를 만들고 싶습니다. 일 형식은 0.2444로 저장되므로이를 밀리 초로 변환하는 방법은 무엇입니까?


이에 대한 모범 사례는 다음과 같습니다.

TimeUnit.DAYS.toMillis(1);     // 1 day to milliseconds.
TimeUnit.MINUTES.toMillis(23); // 23 minutes to milliseconds.
TimeUnit.HOURS.toMillis(4);    // 4 hours to milliseconds.
TimeUnit.SECONDS.toMillis(96); // 96 seconds to milliseconds.

다른 답변 외에도 한 시간 기간을 다른 기간으로 변환 할 수 있는 TimeUnit 클래스도 있습니다. 예를 들어 하루를 구성하는 밀리 초 수를 확인하려면 다음과 같이하십시오.

TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS); //gives 86400000

이 방법은 시간이 소요 long되므로 하루의 비율이있는 경우 하루에 밀리 초 수를 곱해야합니다.


days * 24 * 60 * 60 * 1000충분 하지 않습니까?


24 시간 = 86400 초 = 86400000 밀리 초. 숫자에 86400000을 곱하면됩니다.


4 ~ 5 년에 한 번이 방법은 윤초 ( http://www.nist.gov/pml/div688/leapseconds.cfm ) 및 올바른 공식 의 경우 1 초 오류가 발생할 수 있다는 점을 언급하는 것이 중요합니다. 그날은

(24*60*60 + 1) * 1000

질문이 있습니다 윤초가 달력에 의해 음식을 장만은? 대답은 '아니오'입니다.

따라서 시간 의존적 인 소프트웨어를 설계하는 경우이 공식에주의하십시오.


public static double toMilliSeconds(double day)
{
    return day * 24 * 60 * 60 * 1000;
}

또는 long:

public static long toMilliSeconds(double day)
{
    return (long) (day * 24 * 60 * 60 * 1000);
}

int day = 5;
long dayInMilliseconds = day * org.apache.commons.lang.time.DateUtils.MILLIS_PER_DAY

참고 URL : https://stackoverflow.com/questions/6980376/convert-from-days-to-milliseconds

반응형