Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日期格式JAVA_Java_Datetime_Simpledateformat - Fatal编程技术网

日期格式JAVA

日期格式JAVA,java,datetime,simpledateformat,Java,Datetime,Simpledateformat,我想将2012-05-04 00:00:00.0格式化为04-MAY-2012。我试过以下步骤 SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd 'T' HH:mm:ss.SSS"); Date date; String dateformat = ""; try { date = sdf.parse("2012-05-04 00:00:00.0");

我想将
2012-05-04 00:00:00.0
格式化为
04-MAY-2012
。我试过以下步骤

    SimpleDateFormat sdf = new SimpleDateFormat(
            "yyyy-MM-dd 'T' HH:mm:ss.SSS");

    Date date;
    String dateformat = "";
    try {
        date = sdf.parse("2012-05-04 00:00:00.0");
        sdf.applyPattern("DD-MON-RR");
        dateformat = sdf.format(date);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
但我得到了以下例外

java.text.ParseException: Unparseable date: "2012-05-04 00:00:00.0"
    at java.text.DateFormat.parse(DateFormat.java:337)
    at com.am.test.Commit.main(Example.java:33)`

我该怎么做呢?

我想如果你删除
'T'
它会工作的。

在这里,它可以工作:

  • 删除第一个图案中多余的“T”
  • 第二种格式不正确,应为dd MMM yyyy
  • 看一看Javadoc

    使用此模式:

    sdf.applyPattern("DD-MMM-YYYY");
    
    不要使用此选项:

    sdf.applyPattern("DD-MON-RR");
    

    你的第一个图案中不是有一个额外的“t”吗?
    sdf.applyPattern("DD-MON-RR");
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
    
    Date date;
    String dateformat = "";
    try {
        date = sdf.parse("2012-05-04 00:00:00.0");
        sdf.applyPattern("dd-MMM-yyyy");
        dateformat = sdf.format(date);
        System.out.println(dateformat);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
    public static void main(String[] args) {
    SimpleDateFormat sdf =  new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
    Date oldFormatedDate = null;
    try {
        oldFormatedDate = sdf.parse("2012-05-04 00:00:00.0");
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println(new SimpleDateFormat("dd-MMM-yyyy").
               format(oldFormatedDate));
    }