有没有办法以下面解释的格式格式化日期

时间:2015-03-10 19:06:03

标签: java date-format simpledateformat java.util.date

我有new Date();

创建的Date对象

当我这样做时

 String.valueOf(new Date()) 

我得到了

"Mon Jan 10 11:11:11 PST 2015"

有没有办法按以下方式格式化:

Monday Jan 10, 2015 at 5:15 PM

我尝试了DateFormat及其所有示例,但无法以所需格式获取它。

Date curDate = new Date();

   System.out.println(curDate.toString());

        String DateToStr = DateFormat.getInstance().format(curDate); System.out.println(DateToStr);

        DateToStr = DateFormat.getTimeInstance().format(curDate); System.out.println(DateToStr);

        DateToStr = DateFormat.getDateInstance().format(curDate);             System.out.println(DateToStr);

        DateToStr = DateFormat.getDateTimeInstance().format(curDate);
        System.out.println(DateToStr);

        DateToStr = DateFormat.getTimeInstance(DateFormat.SHORT).format(curDate);
        System.out.println(DateToStr);

        DateToStr = DateFormat.getTimeInstance(DateFormat.MEDIUM).format(curDate);
        System.out.println(DateToStr);

        DateToStr = DateFormat.getTimeInstance(DateFormat.LONG).format(curDate);
        System.out.println(DateToStr);

        DateToStr=
DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.SHORT).format(curDate)
        System.out.println(DateToStr);

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,那么是的。使用SimpleDateFormat文档中提供的模式字母和

之类的内容
public static void main(String[] args) {
    String fmtString = "EEEE MMM d, yyyy 'at' h:mm a";
    // E - Day name in week 
    // M - Month in year
    // d - Day in month
    // y - Year
    // The constant String at
    // h - Hour in am/pm (1-12)
    // m - Minute in hour
    // a - Am/pm marker
    DateFormat sdf = new SimpleDateFormat(fmtString);
    try {
        Date d = sdf.parse("Monday Jan 10, 2015 at 5:15 PM");
        System.out.println(sdf.format(d));
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

注意 2015年1月10日是星期六