在Java中解析日历日期 [英] Parsing date from Calendar in Java
本文介绍了在Java中解析日历日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下函数
public static Date parseDate(String date,String format)throws ParseException
{
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.parse(date);
}
我在我的代码中使用如下:
Calendar eDate = Calendar.getInstance();
eDate.add(Calendar.DAY_OF_MONTH,10);
日期date = null;
try {
date = parseDate(eDate.getTime()。toString(),yyyy-MM-dd hh-mm-ss);
} catch(ParseException e){
// TODO自动生成的catch块
e.printStackTrace();
}
但它是扔 -
java.text.ParseException:Unparseable date
格式不存储在日期$ c $
String
中。 Date#toString()
会返回固定格式javase / 7 / docs / api / java / util / Date.html#toString%28%29rel =nofollow> Javadoc 。 此时只需要格式化 您需要向人类显示日期
作为 String
。
日历calendar = Calendar.getInstance
calendar.add(Calendar.DAY_OF_MONTH,10);
日期date = calendar.getTime();
String formattedDate = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss)。format(date);
System.out.println(formattedDate);
请注意, MM
code> mm 分钟。另请参见 SimpleDateFormat
javadoc 。
I am having following function
public static Date parseDate(String date, String format) throws ParseException
{
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.parse(date);
}
I am using this as follows in my code
Calendar eDate = Calendar.getInstance();
eDate.add(Calendar.DAY_OF_MONTH,10);
Date date = null;
try {
date = parseDate(eDate.getTime().toString(),"yyyy-MM-dd hh-mm-ss");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
But it is throwing -
java.text.ParseException: Unparseable date
What is the problem here?
解决方案
The format is not stored in the Date
. It is stored in the String
. The Date#toString()
returns a fixed format which is described in its Javadoc.
Do the formatting only at the moment you need to display a Date
to a human as a String
.
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 10);
Date date = calendar.getTime();
String formattedDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
System.out.println(formattedDate);
Note that MM
stands for months and mm
for minutes. See also SimpleDateFormat
javadoc.
这篇关于在Java中解析日历日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文