나는 Joda Time을 사용하고 있으며 사용자가 선호하는 형식 (note that before Android M, the format could be changed)으로 날짜를 표시해야합니다.형식 JodaTime DateTime 기본 DateFormat
Joda 날짜 시간 원하는 날짜 형식의 문자열에서 만든 DateTimeFormatter 사용하여 포맷 할 수 있습니다 :
public String getFormattedDate(String datePattern) {
if (mDate != null) {
// get your local timezone
DateTimeZone localTZ = DateTimeZone.getDefault();
DateTime dt = mDate.toDateTime(localTZ);
DateTimeFormatter fmt = DateTimeFormat.forPattern(datePattern);
String formattedDate = dt.toString(fmt);
return formattedDate;
}
return "";
}
하지만 사용자가 선호하는 형식을 얻기 위해, 당신은 자바 DateFormat의를 사용해야을 :
public static DateFormat getPreferredDateFormat(Context context) {
final String format = Settings.System.getString(context.getContentResolver(), Settings.System.DATE_FORMAT);
DateFormat dateFormat;
if (android.text.TextUtils.isEmpty(format)) {
dateFormat = android.text.format.DateFormat.getMediumDateFormat(context.getApplicationContext());
} else {
dateFormat = android.text.format.DateFormat.getDateFormat(context.getApplicationContext()); // Gets system date format
}
if (dateFormat == null)
dateFormat = new SimpleDateFormat(format);
return dateFormat;
}
Java DateFormat에는 날짜 형식의 String을 제공 할 수있는 메서드가 없습니다.
Java DateFormat으로 Joda DateTime의 형식을 지정하는 방법이 있습니까? 그리고 아마도 나는 단지 일과 월 (dd/MM 또는 MM/dd 일 것임)을 보여주고 싶다고 지정할 수도 있습니다. 또는 DateTimeFormatter가 사용자가 선호하는 포맷을 사용하게하려면 어떻게해야합니까?