2012-05-05 2 views
0

날짜를 길게 입력해야합니다. 2012 16시 39분 0초 토 5월 5일 -> 1336235940000Android 장기 변환이 잘못되었습니다.

그럼 나는 지금까지이 다시 변환하고 나는 6-4-112 16시 39분

long tmp = 1336235940000l; 
Date d = new Date(tmp); 
int aYear = d.getYear(); 
int aMonth = d.getMonth(); 
int aDay = d.getDay(); 
int aHour = d.getHours(); 
int aMinutes = d.getMinutes(); 
String str_dateA = aDay + "-" + aMonth + "-" + aYear + " " + aHour + ":" + aMinutes; 
Log.i("longtodate", str_dateA + ""); 

aMonth이 첫 번째 경우 4 수 수 달은 0이지만, 5 일 대신에 6 일이 어떻게 될 수 있습니까 ?? 올해는 112 살입니까? 무엇이 잘못 되었나요 ??

+0

@Jack :'Date (timestamp)'는 ** milliseconds **를 기대합니다. 매뉴얼을 읽어주세요. – lenik

답변

1

Date.getDay()은 달의 날짜가 아니라 DAY_OF_WEEK를 제공합니다.

토요일은 6 번째 요일입니다.

+0

이고 올해는 112입니까? – erdomester

+0

'getYear()'는 1900 년 이래로 1900 + 112 = 2012 년을 제공합니다. – lenik

+0

감사합니다! 이제는 효과를 낼 수 있지만, 한 달, 한 달을 긴 형식으로 만드는 더 좋은 해결책이 있습니까? – erdomester

관련 문제