java-hibernate-将日期从一种格式转换为另一种格式

java-hibernate-将日期从一种格式转换为另一种格式,java,mysql,hibernate,date,datetime,Java,Mysql,Hibernate,Date,Datetime,我正在尝试将日期从一种格式转换为另一种格式,输入的日期格式为:“mm dd yyyy”到“yyyy mm dd” 我从网页上收到了“mm dd yyyy”格式的日期,当我使用hibernate在mysql中插入该日期时,该日期变为一些匿名值 请帮忙!!! { 您可以使用下面的代码段 public static String formatDate (String date, String initDateFormat, String endDateFormat) throws ParseExce

我正在尝试将日期从一种格式转换为另一种格式,输入的日期格式为:“mm dd yyyy”到“yyyy mm dd”

我从网页上收到了“mm dd yyyy”格式的日期,当我使用hibernate在mysql中插入该日期时,该日期变为一些匿名值

请帮忙!!! {


您可以使用下面的代码段

 public static String formatDate (String date, String initDateFormat, String endDateFormat) throws ParseException {

    Date initDate = new SimpleDateFormat(initDateFormat).parse(date);
    SimpleDateFormat formatter = new SimpleDateFormat(endDateFormat);
    String parsedDate = formatter.format(initDate);

    return parsedDate;
}
你可以这样试试

        DateFormat originalFormat = new SimpleDateFormat("MM-dd-yyyy", Locale.ENGLISH);
        DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = originalFormat.parse("01-21-2013");
        String formattedDate = targetFormat.format(date); 
        System.out.println(formattedDate);
用于日期类型结果

    DateFormat originalFormat = new SimpleDateFormat("mm-dd-yyyy", Locale.ENGLISH);
    DateFormat targetFormat = new SimpleDateFormat("yyyy-mm-dd");
    Date date = originalFormat.parse("01-21-2013");
    String formattedDate = targetFormat.format(date); 
    java.util.Date dtt = targetFormat.parse(formattedDate);
    java.sql.Date ds = new java.sql.Date(dtt.getTime());
    System.out.println(ds);
    System.out.println(dtt);
    System.out.println(formattedDate);
输出端为

2013-01-21
Mon Jan 21 00:01:00 EET 2013
2013-01-21

输出==>>initDate==Thu Mar 05 00:00:00 ICT 2015

在HQL简单SQL函数工作中:

DATE_FORMAT(DATE,'%d-%m-%Y') 

是的,它会给我一个“mm-dd-yyyy”格式的字符串,我知道如何将字符串格式转换为日期,但如何将“mm-dd-yyyy”格式的日期转换为mysql支持的“yyyy-mm-dd”日期格式wants@Furquan现在请检查我的最新答案是的,但是我想要日期类型对象中的日期,是可能的还是我只是在等待Gtime@Furquan您可能会看到一个类似问题的答案,非常感谢,但再次在这里,我将以字符串形式获取日期,我希望以日期类型获取该字符串。您可以尝试最后一个,我正在处理java.sql.Dateit类型,但当我将此输入用于文档日期:2013-11-30日期转换为:2013-01-30哦,抱歉,您必须用MM代替MM,我编辑了答案。是的,它起作用了,我把它改了MM,它起作用了,谢谢
Date initDate = new SimpleDateFormat("yyyy-MM-dd").parse("2015-03-05");
System.out.println("initDate == "+initDate);
DATE_FORMAT(DATE,'%d-%m-%Y')