【发布时间】:2012-09-16 13:25:57
【问题描述】:
如何将日历日期转换为yyyy-MM-dd 格式。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
Date date = cal.getTime();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String date1 = format1.format(date);
Date inActiveDate = null;
try {
inActiveDate = format1.parse(date1);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
这将产生inActiveDate = Wed Sep 26 00:00:00 IST 2012。但我需要的是2012-09-26。我的目的是使用 Hibernate 标准将此日期与我的数据库中的另一个日期进行比较。所以我需要yyyy-MM-dd格式的日期对象。
【问题讨论】:
-
您的代码令人困惑。您是否尝试将
Date格式化为yyyy-MM-dd或将字符串从yyyy-MM-dd解析为Date值?要格式化日期,只需使用format1.format(date),要解析它,使用format1.parse(someStringValueInTheCorrectFormat) -
我已经编辑了我的问题..抱歉之前的错误..
-
一个班轮:
( new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSXXX" ) ).format( Calendar.getInstance().getTime() ); -
@IwanAucamp:你在 every 调用上创建一个 new 实例——这是浪费的,因为格式化程序可以是一个常量并且只能被创建一次(假设您不需要线程安全,因为 SDF 不是线程安全的)。
标签: java date calendar converter