如何在这样的日期和时间获取像这样的02-Oct-12 12:58:20 AM

时间:2013-01-07 11:43:52

标签: java datetime

我尝试过这样的事情

package com.poc;

import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class GetCurrentDateTime {
  public static void main(String[] args) {

       DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       //get current date time with Date()
       Date date = new Date();
       System.out.println(dateFormat.format(date));

       //get current date time with Calendar()
       Calendar cal = Calendar.getInstance();
       System.out.println(dateFormat.format(cal.getTime()));

  }
}

我的输出是:2013-01-07 17:12:27但希望输出像2013-Jan-07 17:12:27 PM

如何在java中执行此操作?

最好的问候

4 个答案:

答案 0 :(得分:3)

您的格式应为

yyyy-MMM-dd hh:mm:ss a

答案 1 :(得分:3)

您的格式应为

new SimpleDateFormat("dd-MMM-yy hh:mm:ss a");

07-Jan-13 07:20:02 PM

new SimpleDateFormat("dd-MMM-yy HH:mm:ss");

07-Jan-13 19:20:02

答案 2 :(得分:2)

改为使用:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MMM-dd hh:mm:ss a");

答案 3 :(得分:2)

请参阅Class SimpleDateFormat

  

:如果模式字母数为3或更多,则将月份解释为文本;否则,它被解释为数字。

因此,MM被称为数字,MMM或更多被解释为文本(即月份名称