2009-01-29 33 views

Trả lời

5

Sử dụng hàm tạo SimpleDateFormat lấy ngôn ngữ. Trước tiên, bạn cần kiểm tra xem JDK có hỗ trợ ngôn ngữ mà bạn đang tìm kiếm không, nếu không thì bạn cần phải thực hiện điều đó.

0

Sử dụng java.util.Calendar có múi giờ và ngôn ngữ thích hợp.

4

Sử dụng lớp java.text.DateFormat, bạn có thể tạo cấu hình được định cấu hình cho một Ngôn ngữ cụ thể.

DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, theLocaleYouWant); 
String text = format.format(new Date()); 
System.out.println(text); 
3

Lớp DateFormat có thể giúp bạn. Như đã giải thích trong Javadoc:

Để định dạng một ngày cho một Locale khác nhau, xác định nó trong các cuộc gọi đến getDateInstance().

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); 

Vì vậy, bạn chỉ cần điều chỉnh mã này bằng cách sử dụng Locale đầy đủ.

14

Cái gì như:

Locale locale = new Locale("ru","RU"); 
DateFormat full = DateFormat.getDateInstance(DateFormat.LONG, locale); 
out.println(full.format(new Date())); 

Nên làm các trick. Tuy nhiên, đã xảy ra sự cố với Russian Date formatting in jdk1.5

Thỏa thuận với ngôn ngữ Nga là tên tháng có hậu tố khác nhau khi chúng được trình bày độc lập (ví dụ: trong danh sách hoặc thứ gì đó) và một tên khác khi chúng là một phần của một ngày được định dạng. Vì vậy, mặc dù tháng Ba là "Март" bằng tiếng Nga, định dạng đúng ngày hôm nay sẽ là: "7 Март а 2007 г."

Hãy xem cách định dạng JDK ngày hôm nay: 7 Март 2007 г. Rõ ràng là sai.

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