我有一个YYYY-MM-DD格式的日期变量。
如何将日期值更改为前一天?因此,如果变量的值为2014-01-01,则会更改为2014-12-31。
答案 0 :(得分:2)
您可以使用DateFormat和Calendar,如此
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));