2017-03-07 1 views
0

long 타임 스탬프 값에서 년, 월, 일 및 시간을 가져 오려고합니다. 타임 스탬프 값에서 Calendar을 만드는 많은 예제를 발견했지만 원하는 것을 얻지 못했습니다. Java에서 캘린더로 타임 스탬프를 변환

나는 다음과 같은

long timestamp = 1488866400; 

Calendar cal = GregorianCalendar.getInstance(); 
cal.setTimeInMillis(timestamp); 

System.out.println(cal.get(Calendar.YEAR)); 
System.out.println(cal.get(Calendar.MONTH)); 
System.out.println(cal.get(Calendar.DATE)); 

1488866400이 2017년 3월 7일 (화) 그리니치 표준시 06시 00분 0초 쓴, 그래서 위의 코드는 한 달 2과 날짜 7, 올해 2017 줘 것으로 예상하지만, 제공 내년 1970, 달 0 및 일 17.

내가 잘못한 일을하고 있거나 다른 방식으로 만들 수 있다고 누가 알 수 있습니까?

+1

합니다. util.Calendar' 클래스와'java.util.Date' 클래스가 있습니다. 사용 사례에 가장 적합한 클래스의'java.time' 패키지를보아야합니다. –

+0

게시하기 전에 스택 오버플로를 검색하십시오. 대부분의 기본적인 날짜/시간 질문은 이미 질문을 받고 답변을 받았습니다. –

답변

1

은 곱하기 1000 long timestamp = 1488866400 * 1000;

당신의 타임 스탬프하여 타임 스탬프는 초입니다 및 일정 밀리 초

0

이 시도 사용하여 좀 더 강력하게 기존 '자바를 사용에 대해 조언을 할 수

long timestamp = 1488866400; 
LocalDate date = Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDate(); 
System.out.println(date.getYear()); 
System.out.println(date.getMonth()); 
System.out.println(date.getDayOfMonth()); 
관련 문제