3
시간대 정보가없는 연중 무휴 정보를 저장해야합니다.타임 스탬프를 날짜와 요일을 다른 날짜로 변환합니다.
private static void test() {
Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("US/Pacific"));
System.out.println("Before: " + cal.get(DAY_OF_MONTH));
//
long datestamp = toDatestamp(cal.getTimeInMillis());
long timestamp = toTimestamp(datestamp);
cal.setTimeInMillis(timestamp);
System.out.println("After: " + cal.get(DAY_OF_MONTH));
}
private static long toTimestamp(long datestamp) {
return TimeUnit.DAYS.toMillis(datestamp);
// return datestamp * DS_MULT;
}
private static long toDatestamp(long timestamp) {
return TimeUnit.MILLISECONDS.toDays(timestamp);
// return timestamp/DS_MULT;
}
// hours * minutes * seconds * milliseconds
private static long DS_MULT = 24 * 60 * 60 * 1000;
주석 중 하나가이 개 방식을 가진 :
는 여기에 몇 가지 코드입니다. 그러나 결과는 동일합니다.
Before: 26
After: 25
변환 후 날짜가 변경되는 이유는 무엇입니까? 나는 명백한 것을 놓치고 있는가?
DAY_OF_MONTH 무엇
당신은 시험의 끝에서 또 다른 라인을 추가하여 볼 수 있습니까? 정의 된 부분은 어디입니까? – alfasin
그건'import static java.util.Calendar.DAY_OF_MONTH;' – yanchenko
당신의 질문이 무엇인지, 그리고 코드로 무엇을 달성하려고하는지 더 명확하게 설명해 주시겠습니까? – Tom