需要建议如何将java.sql.Date (YYYY DD)发送到java.util.Date (DD)。
类java.sql.Date被设计为只携带日期。我有一个表,其中列EXPIRY_DATE作为日期数据类型。
当我做以下操作时
rs.getDate("EXPIRY_DATE")它以YYYY DD格式给出输出。例如,2015-04-05
我有下面的Java
class ABC {
java.util.Date expiryDate;
}我希望将上面的bean作为JSON对象返回给JSP页面视图。由于我们使用的是Spring控制器(@RestController服务),我编写了以下行:
@RestController
@RequestMapping("/url")
class someClass {
@RequestMapping("/url")
Object someWebServiceMethod() {
ABC object = new ABC();
object.setExpiryDate( resultSet.getDate("EXPIRY_DATE") );
return object;
}
}我的webservice返回的日期,因为它是java.sql.Date格式,如YYYY DD。
我想将格式的输出发送到JSP页面视图。
如何转换相同的?
我试过以下代码,
注意:下面的代码与我的上述问题无关。我只需要上述@RestController春季代码的解决方案
public static void convertDate() {
String input = "2013-09-14";
// DateFormat format = DateFormat.getInstance();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-mm-dd");
SimpleDateFormat format2 = new SimpleDateFormat("dd-MMM-yy");
Date date;
try {
date = format1.parse(input);
String temp = format2.format(date);
Date outDate = format2.parse(temp);
System.out.println(outDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}但它给出的输出为Mon 1月14 : 00:00:00 IST 2013
我想发送日期,格式为dd-MMM-YYYY,类似于28-2015年2月-2015年。
目前,我的@RestController代码返回类似于2015-02-28的java.sql.Date格式。但我想要在2015年2月28日。
请建议如何将java.sql.Date (YYYY)转换为java.util.Date (DD YYYY)。
谢谢
发布于 2015-02-13 17:51:05
这是因为一旦对日期进行了格式化,就可以重新解析它。
date = format1.parse(input);
String temp = format2.format(date);
Date outDate = format2.parse(temp);
System.out.println(outDate);简单地做
date = format1.parse(input);
String temp = format2.format(date);
System.out.println(temp)请注意,如果您有JSTL,您可以直接在页面中格式化:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><fmt:formatDate value="${bean.date}" pattern="dd-MMM-yy" />发布于 2015-02-13 17:48:30
我想将格式的输出发送到JSP页面视图。
然后,您需要使用SimpleDateFormat来做到这一点。目前,您正在使用Date.toString()的结果,而忽略了已经有正确结果的temp。
但是,您根本不需要解析java.sql.Date --您可以直接将它传递给DateFormat.format
java.sql.Date date = /* get date from database */;
// TODO: Specify time zone and locale
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = format.format(date);或者,我怀疑JSP已经有了一种机制,允许您将日期直接传递给JSP本身,并在那里指定输出格式.这实际上是一种尽可能接近表示层的转换。
发布于 2021-04-14 07:09:27
public class DatesTest {
public static void main(String[] args) {
String strdate = "2018-07-02";
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yy");
try {
Date oldDate = format1.parse(strdate);
System.out.println(sdf.format(oldDate));
} catch (ParseException ex) {
Logger.getLogger(DatesTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
}https://stackoverflow.com/questions/28505539
复制相似问题