2017-05-05 2 views
0

각 반복마다 이전에 timestamp를 X 일로 설정하여 SQL 쿼리를 반복하려고합니다. 내 날짜가 25 일 뒤로 검색되자 마자 난센스를 찾기 시작했습니다. .. 나는 안드로이드 스튜디오가이 코드 예제의 두 번째 행에 대해 경고 "표현의 숫자 오버 플로우"이 표시 것으로 나타났습니다 : "표현의 숫자 오버플로"manupulating timestamps

getTodaysBeginningMilis

int daysBack = 25; 
long dayBeginningMilis = getTodaysBeginningMilis() - 86400000 * daysBack; 
내 자명 방법이 보여 않는 이유는이 경고입니다 86,400,000은이다 24 시간 후 밀리 세컨드 수

답변

0

이 파트 "86400000 * daysBack"은 b o 번째 숫자는 정수이고, 곱셈은 정수를 경계 밖으로 벗어나게합니다. 이 문제를 해결하기 위해 모든 유형의 긴 형식을 만들었습니다.

long daysBack = 25L; 
long dayBeginningMilis = getTodaysBeginningMilis() - 86400000L * daysBack;