以下是我用來訪問過去10天前的日期的代碼。輸出是今天的日期'20130103'。我如何返回今天的日期 - 10天?我限於使用內置的java日期類,所以不能使用joda時間。使用java.util.Date獲取日期
package past.date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class PastDate {
public static void main(String args[]){
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date myDate = new Date(System.currentTimeMillis());
Date oneDayBefore = new Date(myDate.getTime() - 10);
String dateStr = dateFormat.format(oneDayBefore);
System.out.println("result is "+dateStr);
}
}
你看過[javadocs](http://docs.oracle.com/javase/7/docs/api/java/util/Date.html)嗎?日期構造函數以毫秒爲單位,而不是以天爲單位的值。此外,要考慮時區/ DST問題,請查看「日曆」。 – BalusC
修改此答案:http://stackoverflow.com/questions/5894726/how-do-i-do-calendar-arithmetic-with-java-util-date – mcalex
本身不回答你的問題,但你可能會感興趣的http://stackoverflow.com/questions/11727933/add-30-days-to-date-in-java?rq=1這告訴你如何添加到日子裏,也許你可以轉置它減去。 – sircapsalot