YYYY-MM-DD减去1天

时间:2014-01-21 21:38:00

标签: java date

我有一个YYYY-MM-DD格式的日期变量。

如何将日期值更改为前一天?因此,如果变量的值为2014-01-01,则会更改为2014-12-31。

2 个答案:

答案 0 :(得分:2)

您可以使用DateFormatCalendar,如此

String fmt = "yyyy-MM-dd";
String dt = "2014-01-01";
java.text.DateFormat df = new java.text.SimpleDateFormat(fmt);
java.util.Calendar cal = java.util.Calendar.getInstance();
try {
    cal.setTime(df.parse(dt));
    cal.add(java.util.Calendar.DAY_OF_MONTH, -1);
    System.out.println(cal.getTime());
} catch (Exception e) {
}

哪个输出

Tue Dec 31 00:00:00 EST 2013

答案 1 :(得分:1)

Java可以解析日期,然后减去一天并输出toString()

文档:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Date.html

长版:

String example = "2014-01-01";
DateFormat df = new SimpleDateFormat("YYY-MM-dd", Locale.ENGLISH);
Date result =  df.parse(target);
Calendar cal = Calendar.getInstance();
cal.setTime(result);
cal.add(Calendar.DATE, -1);
result = cal.getTime();
System.out.println(df.format(result));