Date nowdate = new Date();
long nowms = nowdate.getTime();
long differencems = numdaysback * 24 * 60 * 60 * 1000;
long thenms = nowms - differencems;
Date thendate = new Date(thenms);
Nếu numdaysback là 365, thì tôi giả sử rằng thendate sẽ là một năm trước. nhưng nó không ... nó khoảng ba tuần trước?!?Các sự cố về Java ngày, tìm ngày X ngày trước
NUMDAYSBACK: 365
NOWDATE: Wed Jun 22 20:31:58 SGT 2011
NOWMS: 1308745918625
DIFFERENCEMS: 1471228928
THENMS: 1307274689697
THENDATE: Sun Jun 05 19:51:29 SGT 2011
Giải pháp tốt. Bây giờ tất cả đều hoạt động như dự định :) – Jesper
+1 để nói cho anh ta biết điều gì sai, thay vì chỉ đơn giản là đưa ra giải pháp. –