2016-10-05 3 views
0

내 Maven 프로젝트의 주요 기능에 Java 코드가 있습니다. 내가 메이븐이 단지를 만들기 위해 설치 실행하면AWS EC2 인스턴스 LocalDateTime이 시스템 날짜와 일치하지 않습니다.

LocalDateTime localNow = LocalDateTime.now(); 
System.out.println(localNow); 

, 내 로컬 컴퓨터에서 출력

2016-10-05T12:21:17.646 

만 내 로컬 컴퓨터에 명령 행에서

date 

을 실행할 때 나는

Wed Oct 5 12:21:17 EDT 2016 

이것이 어떻게 작동해야하는지입니다. 내 EC2 인스턴스에 업로드 할 때, 코드의 출력은

2016-10-05T16:23:17.897 

(나는이 UTC 시간 상상할 것) 콘솔에서

date 

Wed Oct 5 12:23:17 EDT 2016 
와 때

이 가이드에 따라 EC2 인스턴스의 시간을 변경했습니다 : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html#change_time_zone. 그것은 분명히 명령 줄에서 날짜를 얻기 위해 작동하지만 Java의 LocalDateTime은 동의하지 않습니다. java.time. *을 사용하고 있습니다.

답변

0

LocalTime.now()은 JVM의 기본 시간대를 사용합니다. 자세한 내용은 here입니다. 따라서 어떤 이유 때문에 JVM의 시간대가 OS와 다릅니다. 다음 JVM 옵션을 사용하여 시간대를 강제 설정할 수 있습니다.

-Duser.timezone=America/New_York 
관련 문제