2013-11-04 3 views
0

현재 저는 AIX SERVER가 있으며 터미널에 date 명령을 실행하면 응답이 Mon Nov 4 00:28:40 EST 2013으로 표시됩니다.날짜 시간 명확화

그리고 나는 Wednesday, 31 December 1969, 19:00:00 (UTC time) 이후의 초 수 인 1383561560 초를가집니다.

이제는 31 December 1969, 19:00:00 (UTC time)부터 EST 시간까지의 날짜와 시간을 계산하는 코드가 있습니다.

DateFormat df = new SimpleDateFormat("MM/dd/yyyy_HH:mm:ss a"); 
df.setTimeZone(TimeZone.getTimeZone("EST")); 
long ms = (long)(1383560920) *1000; 
Date d1 = new Date(ms); 
String formattedDate = df.format(d1); 
System.out.println("Now the date/time is "+formattedDate); 

지금 표시되는 날짜/시간은 여기 11/04/2013_05:28:40 AM

왜 5 시간의 차이가있다?

+0

표준 시간대의 표준시와 표준시의 차이는 5 시간이기 때문에 둘 다 같은 시간대를 나타냅니다. EST는 UTC - 5입니다. [동부 표준 시간대] (http://en.wikipedia.org/wiki/Eastern_Time_Zone) –

+1

참고로이 **는 Java 문제가 아니며 다른 프로그래밍에서도 발생할 수 있습니다 언어도 마찬가지입니다. –

+0

그러나 내 코드에서 EST 표준 시간대로 변환 중이므로 Java 코드가 변환을 처리해서는 안됩니다. –

답변

1

자바 Date 기본 시간은 1 January 1970, 00:00:00에서 시작하지만 시간은 31 December 1969, 19:00:00입니다. 따라서 계산 된 시간의 차이는 5 시간입니다.

자세한 내용은 docs을 읽어보십시오.

는 Date 객체를 할당하고, 즉 "는 시대", 1970 년 1 월 1 일 00:00:00 GMT로 알려진 표준 기본 시간 이후의 지정된 밀리 초 수를 나타냅니다.

매개 변수 : 날짜 - 1970 년 1 월 1 일 00:00:00 GMT 이후의 밀리 초.