У меня есть объект SimpleDateFormat, который я извлекаю из некоторых утилит интернационализации. Даты синтаксического анализа все прекрасны и хороши, но я хотел бы показать подсказку форматирования для моих пользователей, например "MM/dd/yyyy". Есть ли способ получить шаблон форматирования из объекта SimpleDateFormat?
Получение строки шаблона из java SimpleDateFormat
Ответ 1
Возвращает строку шаблона, описывающую этот формат даты.
Ответ 2
Используйте метод toPattern()
или toLocalizedPattern()
.
Ответ 3
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
Если вам просто нужно получить строку шаблона для данного языка, для меня работало следующее:
/* 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 и getTimeInstance для данного языка являются ключевыми здесь.