如何将日历日期转换为yyyy-MM-dd
format.
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
format.
A Java Date
是自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数容器。
当你使用类似的东西时System.out.println(date)
,Java使用Date.toString()
打印内容。
改变它的唯一方法是覆盖Date
并提供您自己的实现Date.toString()
。现在,在您启动 IDE 并尝试此操作之前,我不会;这只会让事情变得复杂。您最好将日期格式化为您想要使用(或显示)的格式。
Java 8+
LocalDateTime ldt = LocalDateTime.now().plusDays(1);
DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH);
System.out.println(ldt);
// Output "2018-05-12T17:21:53.658"
String formatter = formmat1.format(ldt);
System.out.println(formatter);
// 2018-05-12
Java 8 之前
您应该利用三十向后移植
以下内容出于历史目的而保留(作为原始答案)
您可以做的就是格式化日期。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(cal.getTime());
// Output "Wed Sep 26 14:23:28 EST 2012"
String formatted = format1.format(cal.getTime());
System.out.println(formatted);
// Output "2012-09-26"
System.out.println(format1.parse(formatted));
// Output "Wed Sep 26 00:00:00 EST 2012"
这些实际上是相同的日期,但表示方式不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)