将日历转换为dd-MMM-yyyy格式的日期
我正在尝试将10-APR-2014
添加17天并将日期转换为dd-MMM-yyy
y格式,但我得到的结果是Sun Apr 27 00:00:00 GMT+05:30 2014
。
以下是我的代码:
import java.util.*;
import java.text.*;
public class HelloWorld{
public static void main(String []args){
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE, 17);
String output = sdf.format(c.getTime());
System.out.println(output);
System.out.print(new SimpleDateFormat("dd-MMM-yyyy").parse(output));
}
}
如何使输出27-Apr-2014
?
解决方案
您正在打印根据日历日期格式化的字符串分析的日期。
相反,打印格式化的日历日期:
System.out.print(new SimpleDateFormat("dd-MMM-yyyy").format(c.getTime()));
如果显示和使用日期不连续,请执行以下操作:
Date date; // from Calendar or wherever
String str = new SimpleDateFormat("dd-MMM-yyyy").format(date));
// display str
然后,当您想要在选定的日期做某事时:
String selection;
Date date = new SimpleDateFormat("dd-MMM-yyyy").parse(selection));
// do something with date
相关文章