2010-05-03 30 views
21

Tôi có một đối tượng SimpleDateFormat mà tôi lấy từ một số tiện ích quốc tế hóa. Ngày phân tích cú pháp là tất cả tốt và tốt, nhưng tôi muốn có thể hiển thị một gợi ý định dạng cho người dùng của tôi như "MM/dd/yyyy". Có cách nào để lấy mẫu định dạng từ đối tượng SimpleDateFormat không?Lấy chuỗi mẫu từ java SimpleDateFormat

Trả lời

4

Sử dụng phương thức toPattern() hoặc toLocalizedPattern().

27

SimpleDateFormat.toPattern()

Trả về một chuỗi mô hình mô tả định dạng ngày tháng này.

+0

Cảm ơn, tôi đoán tôi không đủ gần. – DLaw

+0

Bạn có thể cho tôi biết, làm cách nào để lấy mẫu ngày tháng hoặc thời gian từ chuỗi này? Tôi có thể sử dụng phương pháp String như so sánh và chứa, nhưng có một phương pháp thanh lịch hơn làm điều này? – ParagJ

4
import java.text.SimpleDateFormat; 

public class Sdf { 
    public static void main(String [] args) { 
     SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
     String patternToUse = sdf.toPattern(); 
     System.out.println(patternToUse); 
    } 
} 
4

Nếu bạn chỉ cần để có được một chuỗi mô hình cho miền địa phương nhất định, sau đây làm việc cho tôi:

/* Obtain the time format per current locale */ 

public String getTimeFormat(int longfmt) { 
Locale loc = Locale.getDefault(); 
int jlfmt = 
    (longfmt == 1)?java.text.SimpleDateFormat.LONG:java.text.SimpleDateFormat.SHORT; 
    SimpleDateFormat sdf = 
    (SimpleDateFormat)SimpleDateFormat.getTimeInstance(jlfmt, loc); 
return sdf.toLocalizedPattern(); 
} 

/* Obtain the date format per current locale */ 

public String getDateFormat(int longfmt) { 
Locale loc = Locale.getDefault(); 
int jlfmt = 
    (longfmt == 1)?java.text.SimpleDateFormat.LONG:java.text.SimpleDateFormat.SHORT; 
    SimpleDateFormat sdf = 
    (SimpleDateFormat)SimpleDateFormat.getDateInstance(jlfmt, loc); 
return sdf.toLocalizedPattern(); 
} 

getDateInstance và getTimeInstance cho miền địa phương cho là chìa khóa ở đây.

Các vấn đề liên quan