如何将日期格式从yyyy-MM-dd更改为dd-MMM-yyyy

时间:2015-12-09 05:42:47

标签: java date

我正在从数据库中检索日期。数据类型是'adate',日期格式为2015-12-16。

我需要将该日期设置为我的bean类变量.Datatype是Date,格式为16-Dec-2015

这些是我正在使用的日期格式

      SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
              SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");

              Date date = null;
              String formatteddate = null;

                try {
                    formatteddate = formatter.format(rs.getDate("dol"));
                    System.out.println("formatteddate=============="+formatteddate);
                    date = formatter.parse(formatteddate);
                    System.out.println("date========="+date);
                } catch (ParseException e) {
                    e.printStackTrace();
                }


              joborderbean.setDol(date);

formatteddate ============== 15日 - 12月2015

我想显示上述格式,即2015年12月15日。但它正在以下格式

日期========= 12月15日星期二00:00:00 IST 2015

请帮帮我

2 个答案:

答案 0 :(得分:1)

请执行以下操作:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
String dateformat=fromatter.format(mysqldate);
System.out.println("first date format"+ dateformat);
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");
String dateformat1=formatter1.format(mysqldate);
System.out.println("second date format"+dateforamt1);

你也可以编辑sql被激活以得到像

这样的结果
 select DATE_FORMAT(date_field,'%Y-%b-%d')

select DATE_FORMAT(date_field,'%d-%b-%Y')

答案 1 :(得分:0)

首先,Resultset个对象getDate方法返回一个java.sql.Date对象。因此,为了将日期存储在date对象中,请使用:

date = rs.getDate("dol");

代替代码:

formatteddate = formatter.format(rs.getDate("dol"));
System.out.println("formatteddate=============="+formatteddate);
date = formatter.parse(formatteddate);
System.out.println("date========="+date);

现在为了测试你可以使用的日期:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
System.out.printLn("date========="+formatter.format(date));

这将为您提供所需的输出。

由于代码System.out.println("date========="+date);而您获得的最后一个输出此处toString对象的date方法被调用,其默认值与documentation中一样:

  

将此Date对象转换为以下形式的字符串:

dow mon dd hh:mm:ss zzz yyyy
     

其中:

     
      
  • dow是星期几(星期日,星期一,星期二,星期三,星期四,星期五,星期六)。
  •   
  • 星期一是(1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月)。
  •   
  • dd是月份的日期(01到31),为两位小数。
  •   
  • hh是一天中的小时(00到23),为两位小数。
  •   
  • mm是小时(00到59)内的分钟,为两位小数。
  •   
  • ss是分钟内的第二个(00到61,为两位小数。
  •   
  • zzz是时区(可能反映夏令时)。标准时区缩写包括方法解析识别的缩写。如果时区信息不可用,则zzz为空 - 也就是说,它根本不包含任何字符。
  •   
  • yyyy是年份,为四位小数。
  •