2

我得到以下格式的日期(Date而不是String):

Tue Jun 26 07:00:00 EDT 2012

我想将日期的格式更改为(日期):

6/26/2012 10:19:15 AM 

以便在数据库中更新相同的内容。我尝试了以下代码:

Date dte;
Date dte1;(Tue Jun 26 07:00:00 EDT 2012)
SimpleDateFormat formatter = new SimpleDateFormat("m/dd/yyyy hh:mm:ss a");
String formattedDate = formatter.format(dte1);
dte  = formatter.parse(formattedDate);
SystemUtils.trace("test", " date>>>" + dte); 

正在产生以下响应:

Thu Jan 26 07:00:00 EST 2012

任何人都可以分享一段代码来尽快做同样的事情。

4

4 回答 4

5

您不必格式化日期以将它们插入数据库。如果使用 JDBC,请使用准备好的语句。

但是,要回答您的问题,m不能同时表示分钟月份M指月份。m表示分钟

于 2012-06-26T14:58:49.710 回答
4

此代码输出所需的结果:

Date dte = new Date();//or something else
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
String formattedDate = formatter.format(dte);
System.out.println(formattedDate);
于 2012-06-26T15:04:25.457 回答
0

试试这个,下面的代码将满足您的需要。

public class DateWala {

    public static void main(String[] args){

    System.out.println(new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a").format(new Date()));

   }

 }
于 2012-06-26T18:51:53.297 回答
0

你可以使用这个小功能

// send your time
private String convertTime(String dateTime) {
//source format will go there
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
    Date date = null;
    try {
        date = sdfSource.parse(dateTime);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    //destination format will go there
    SimpleDateFormat sdfDestination = new SimpleDateFormat("dd-MM-yyyy HH:mm");

    return sdfDestination.format(date);
}
于 2016-06-16T10:31:55.360 回答