下面列出了java.text.SimpleDateFormat#toLocalizedPattern ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private static String getFormattedFullDate(Date date)
{
SimpleDateFormat dateFormat = (SimpleDateFormat) SimpleDateFormat.getDateInstance(SimpleDateFormat.FULL);
String pattern = dateFormat.toLocalizedPattern();
pattern = pattern.replace("E", "");
pattern = pattern.replace(",", "");
pattern = pattern.replace(" ", " ");
pattern = pattern.trim();
dateFormat.applyLocalizedPattern(pattern);
return dateFormat.format(date);
}
@Test
public void dateFormatTest() throws ParseException {
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.SHORT, Locale.ENGLISH);
SimpleDateFormat sf = (SimpleDateFormat) df;
String p1 = sf.toPattern();
String p2 = sf.toLocalizedPattern();
Assert.assertTrue("MMM d, yyyy h:mm a".equals(p1));
Assert.assertTrue("MMM d, yyyy h:mm a".equals(p2));
DateFormat koreaDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.KOREA);
Assert.assertTrue("yy. M. d a h:mm".equals(((SimpleDateFormat)koreaDateFormat).toPattern()));
LocalDateTime dateTime1 = LocalDateTime.parse("Thu, 5 Jun 2014 05:10:40 GMT", DateTimeFormatter.RFC_1123_DATE_TIME);
Assert.assertTrue("2014-06-05T05:10:40".equals(dateTime1.toString()));
LocalDate localDate = LocalDate.of(2017, 8, 7);
DateTimeFormatter df02 = DateTimeFormatter.ISO_DATE;
Assert.assertTrue("2017-08-07".equals(localDate.format(df02)));
}
static String getTextInputHint(Resources res, SimpleDateFormat format) {
String formatHint = format.toLocalizedPattern();
String yearChar = res.getString(R.string.mtrl_picker_text_input_year_abbr);
String monthChar = res.getString(R.string.mtrl_picker_text_input_month_abbr);
String dayChar = res.getString(R.string.mtrl_picker_text_input_day_abbr);
return formatHint.replaceAll("d", dayChar).replaceAll("M", monthChar).replaceAll("y", yearChar);
}
private static SimpleDateFormat getDateFormat()
{
SimpleDateFormat dateFormat = (SimpleDateFormat) SimpleDateFormat.getDateInstance(SimpleDateFormat.FULL);
String pattern = dateFormat.toLocalizedPattern();
pattern = pattern.replace("y", "");
pattern = pattern.replace("E", "");
pattern = pattern.replace(",", "");
pattern = pattern.replace(" ", " ");
pattern = pattern.trim();
dateFormat.applyLocalizedPattern(pattern);
return dateFormat;
}
private boolean isMonthFirst(){
SimpleDateFormat format = (SimpleDateFormat)SimpleDateFormat.getDateInstance(SimpleDateFormat.FULL);
String pattern = format.toLocalizedPattern();
return pattern.indexOf("M") < pattern.indexOf("d");
}
private static String getShortLocaleDatePattern() {
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault());
SimpleDateFormat sf = (SimpleDateFormat) df;
System.out.println("*********** " + sf.toLocalizedPattern());
return sf.toLocalizedPattern();
}