Tôi muốn hiển thị ngày sinh dựa trên ngôn ngữ người dùng. Trong ứng dụng của tôi, một trong những lĩnh vực của tôi là ngày sinh mà hiện đang ở định dạng dd/mm/yyyy. Vì vậy, nếu người dùng thay đổi ngôn ngữ của mình thì định dạng ngày cũng sẽ thay đổi tương ứng. Bất kỳ con trỏ hoặc mẫu mã nào thực sự sẽ giúp tôi khắc phục vấn đề.Định dạng ngày dựa trên miền địa phương của người dùng trên android
Trả lời
Bạn có thể sử dụng lớp DateFormat định dạng ngày theo ngôn ngữ người dùng.
Ví dụ:
String dateOfBirth = "26/02/1974";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = sdf.parse(dateOfBirth);
} catch (ParseException e) {
// handle exception here !
}
java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(context);
String s = dateFormat.format(date);
Bạn có thể sử dụng các phương pháp khác nhau getLongDateFormat
, getMediumDateFormat
tùy thuộc vào mức độ tính cách rườm rà mà bạn muốn có.
Để thay đổi định dạng ngày tháng theo quy định của địa phương, các mã sau đây làm việc với tôi:
String dateOfBirth = "26/02/1974";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = sdf.parse(dateOfBirth);
} catch (ParseException e) {
// handle exception here !
}
String myString = DateFormat.getDateInstance(DateFormat.SHORT).format(date);
Sau đó, khi bạn thay đổi vị trí, định dạng ngày sẽ thay đổi dựa trên đó. Để biết thêm thông tin về các mẫu ngày: http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html
Liên kết bạn cung cấp hữu ích cho tôi. Cảm ơn –
giống tại đây! cảm ơn bạn ! –
Api Android cung cấp cách dễ dàng để hiển thị định dạng ngày được bản địa hóa. Mã sau hoạt động.
public class FileDateUtil {
public static String getModifiedDate(long modified) {
return getModifiedDate(Locale.getDefault(), modified);
}
public static String getModifiedDate(Locale locale, long modified) {
SimpleDateFormat dateFormat = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
dateFormat = new SimpleDateFormat(getDateFormat(locale));
} else {
dateFormat = new SimpleDateFormat("MMM/dd/yyyy hh:mm:ss aa");
}
return dateFormat.format(new Date(modified));
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public static String getDateFormat(Locale locale) {
return DateFormat.getBestDateTimePattern(locale, "MM/dd/yyyy hh:mm:ss aa");
}
}
Bạn có thể kiểm tra mã sau.
String koreaData = FileDateUtil.getModifiedDate(Locale.KOREA, System.currentTimeMillis());
String franceData = FileDateUtil.getModifiedDate(Locale.FRENCH, System.currentTimeMillis());
String defaultData = FileDateUtil.getModifiedDate(Locale.getDefault(), System.currentTimeMillis());
String result = "Korea : " + koreaData + System.getProperty("line.separator");
result += "France : " + franceData + System.getProperty("line.separator");
result += "Default : " + defaultData + System.getProperty("line.separator");
tv.setText(result);
Đơn giản như
Đối với ngày + Thời gian:
DateFormat format = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.SHORT, Locale.getDefault());
Đối với chỉ date:
DateFormat format = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault());
Chỉ cần sửa lỗi dán sao chép: Đối với ngày không có thời gian, hãy gọi getDateInstance (không getDateTimeInstance) – Lensflare
- 1. Định dạng địa chỉ dựa trên ngôn ngữ trong android
- 2. Cách đặt định dạng miền địa phương từ datepicker?
- 3. Mô tả định dạng ngày địa phương
- 4. Làm thế nào để định dạng DateTime cho người dùng địa phương miền địa phương trong định dạng thời gian ngắn sử dụng MonoTouch
- 5. Sử dụng NSDateFormatter trên iPhone, bảo vệ miền địa phương nhưng mất ngày thành phần
- 6. Cách tốt nhất để xác định miền địa phương của người dùng trong trình duyệt
- 7. Cách định dạng ngày dựa trên ngôn ngữ?
- 8. Chuyển đổi ngày giờ UTC thành ngày giờ địa phương của người dùng
- 9. Chuyển đổi toàn cục UTC DateTimes thành Ngày giờ địa phương do người dùng chỉ định
- 10. Làm cách nào để định dạng ngày hiện tại cho ngôn ngữ của người dùng?
- 11. Cách tải định dạng ngày do người dùng chọn trong Android?
- 12. Hiển thị ngày ở định dạng được bản địa hóa trên Android
- 13. cách lấy định dạng ngày/giờ địa phương?
- 14. Định dạng ngày Javascript như ISO nhưng địa phương
- 15. Django: cách lưu trữ tên người dùng xác thực dựa trên tên miền phụ?
- 16. Thay đổi DirectoryIndex dựa trên miền/miền phụ trong .htaccess
- 17. symfony chọn dựa trên tên miền phụ
- 18. Cách định dạng ngày Android không có năm và hiển thị tháng và ngày theo cài đặt địa phương?
- 19. Cách theo dõi người dùng trên các tên miền?
- 20. chuỗi Validate dựa trên một định dạng
- 21. miền địa phương Setting trên OS X treo
- 22. Django i18n và miền địa phương python (và ngày tháng)
- 23. LDAP xác thực người dùng trên khắp miền tin cậy
- 24. Thông báo địa phương có cần sự cho phép của người dùng trên iOS không?
- 25. Cài đặt miền địa phương trong Android
- 26. Giao diện người dùng dựa trên lập trình chức năng
- 27. Tìm các nhóm địa phương mà người dùng miền thuộc về?
- 28. Hiển thị ngày ở miền địa phương hiện tại
- 29. Ứng dụng WinRT và cài đặt khu vực. Cách chính xác để định dạng ngày và số dựa trên cài đặt vùng của người dùng?
- 30. Chọn điều khiển người dùng dựa trên loại DataContext
"DateFormat DateFormat" nên thực sự được viết "java.text.DateFormat Định dạng ngày tháng". Có nhiều phiên bản khác nhau của DateFormat từ các thư viện khác nhau. – AndroidDev
Nhìn vào mã nguồn, 'android.text.format.DateFormat.getDateFormat (context)' đơn giản trả về 'java.text.DateFormat.getDateInstance (java.text.DateFormat.SHORT)'. Thực tế, đối số 'context' thậm chí không được sử dụng. Tôi nghĩ rằng tôi thích chỉ sử dụng 'java.text.DateFormat.getDateInstance (DateFormat.SHORT)' trực tiếp. –
Tôi không có ngày nhập liệu theo loại chuỗi, Tôi có Ngày làm đầu vào – user924