2012-05-04 50 views
11

Tôi muốn định dạng 2012-05-04 00:00:00.0 thành 04-MAY-2012. tôi đã thử nó với các bước dưới đây.Định dạng ngày JAVA

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(); 
    } 

nhưng tôi đã nhận được ngoại lệ.

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ôi có thể làm như thế nào?

+4

Không có thêm 'T' trong mẫu đầu tiên của bạn? –

Trả lời

16

Ở đây, công trình này:

  1. Tháo thêm 'T' trong mô hình đầu tiên của bạn
  2. Định dạng thứ hai là không chính xác, nó phải là dd-MMM-yyyy.

Hãy xem Javadoc của SimpleDateFormat

import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 

public class temp2 { 

    public static void main(String[] args) { 
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 

     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.err.println(dateformat); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
} 
1

Tôi nghĩ nếu bạn xóa 'T' thì nó sẽ hoạt động.

1

Sử dụng mô hình này:

sdf.applyPattern("DD-MMM-YYYY"); 

Đừng sử dụng này:

sdf.applyPattern("DD-MON-RR"); 
1
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(); 
} 
1
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)); 
} 
Các vấn đề liên quan