2009-12-23 43 views

Trả lời

49

Vâng, sử dụng DateFormat.getDateInstance(int style, Locale aLocale) này hiển thị ngày hiện tại theo một cách bản địa đặc thù.

Vì vậy, ví dụ:

DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, yourLocale); 
String formattedDate = df.format(yourDate); 

Xem các tài liệu cho ý nghĩa chính xác của các thông số phong cách (SHORT, MEDIUM, vv)

+0

Bạn bao gồm phút và giây như thế nào?Điều này sẽ hữu ích vì chỉ một ngày là một chút quá thô. Chỉnh sửa: Nevermind, với 'getTimeInstance()' – BullyWiiPlaza

11

SimpleDateFormat có một hàm tạo lấy ngôn ngữ, bạn đã thử điều đó chưa?

http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Something như new SimpleDateFormat("your-pattern-here", Locale.getDefault());

+2

Đặc biệt đối với các ứng dụng i18n được sử dụng từ các quốc gia khác nhau, chỉ giải pháp từ @Bozho sẽ hoạt động, vì bạn không biết "mẫu" bạn cần sử dụng – frandevel

1

Hãy xem java.text.DateFormat. Dễ sử dụng hơn (với ít năng lượng hơn một chút) là lớp dẫn xuất, java.text.SimpleDateFormat

(phần "Định dạng" giải quyết vấn đề của bạn và hơn thế nữa).

1

Tôi đồng ý với Laura và SimpleDateFormat là cách tốt nhất để quản lý Ngày trong java. Bạn có thể đặt mẫu và ngôn ngữ. Plus, bạn có thể có một cái nhìn tại điều này wikipedia article about Date in the world - không có nhiều cách khác nhau để sử dụng nó; thường USA/China/phần còn lại của thế giới -

1

Joda thời gian

Sử dụng thư viện Joda-Time 2.4. Lớp DateTimeFormat là một nhà máy của DateTimeFormatter trình định dạng. Lớp học đó cung cấp phương thức forStyle để truy cập các trình định dạng phù hợp với Locale.

DateTimeFormatter formatter = DateTimeFormat.forStyle("MM").withLocale(Java.util.Locale.CANADA_FRENCH); 
String output = formatter.print(DateTime.now(DateTimeZone.forID("America/Montreal"))); 

Đối số có hai chữ cái chỉ định định dạng cho phần ngày và phần thời gian. Chỉ định ký tự 'S' cho kiểu ngắn, 'M' cho phương tiện, 'L' cho dài và 'F' cho đầy đủ. Ngày hoặc giờ có thể được xác định bằng cách chỉ định một ký tự kiểu '-' HYPHEN.

Lưu ý rằng chúng tôi đã chỉ định cả Ngôn ngữ và múi giờ. Một số người nhầm lẫn cả hai.

  • Một múi giờ là một bù đắp từ UTC một bộ quy tắc cho ánh sáng ban ngày tiết kiệm thời gian và bất thường khác cùng với những thay đổi lịch sử của họ.
  • Miền địa phương là ngôn ngữ của con người như Français, cộng với mã quốc gia như Canada đại diện cho thực tiễn văn hóa bao gồm định dạng chuỗi ngày giờ.

Chúng tôi cần tất cả các phần đó để tạo đúng biểu diễn chuỗi giá trị ngày giờ.

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