【发布时间】:2017-09-17 00:38:52
【问题描述】:
问题:
我需要将日期类对象传递给一个函数,并且该日期对象应该包含系统时间前一天。 例如: 如果今天的日期是 2017-04-20 17:01:31。那么,Date 对象应该包含 2017-04-21 17:01:31
是否可以将指定的格式存储到日期类对象中并传递给它。
我尝试了以下方法,但没有成功。
如果可以通过代码或我应该使用 SQL 查询概念来添加一天,任何人都可以指导我。
下面是我的代码
public static void main(String[] args) throws ParseException {
String dateFormat="yyyy-MM-dd HH:mm:ss";
String s2=addDate(dateFormat);
convertStringToDate(s2,dateFormat);
}
public static Date convertStringToDate(String dateInStr, String dateFormat) throws ParseException
{
FastDateFormat fdf=FastDateFormat.getInstance(dateFormat);//("yyyy-MM-dd HH:mm:ss");
Date date = null;
date = fdf.parse(dateInStr);
System.out.println("From convertStringToDate ");
System.out.println(date);
return date;
}
public static String addDate(String dateFormat) throws ParseException{
FastDateFormat fdf=FastDateFormat.getInstance(dateFormat);
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE,1);
String s1=fdf.format(c.getTime());
System.out.println("From addDate ");
System.out.println(s1);
return s1;
}
convertStringToDate 的预期输出:
2017-04-21 17:01:31
convertStringToDate 的输出显示:
Fri Apr 21 17:01:31 IST 2017
【问题讨论】:
-
我不明白你的问题。实际输出是多少,预期输出是多少?
-
"是否可以将指定的格式存储到日期类对象中"
-
@RC.编辑了代码
-
@RC。是的,但它应该在日期类
-
不,通过 Date#toString 打印日期时使用的格式不是您可以选择的,如果您确实需要,请在日期周围使用一些包装器和适当的 Wrapper#toString
标签: java date apache-commons-lang3