Android操作系统在通知中使用什么来格式化日期和时间?
我认为它使用了DateUtils.formatSameDayTime,但它并不完全是这样做的。逻辑看起来是一样的,但格式并不完全相同。例如,当formatSameDayTime返回“8/6/13”时,通知会显示“2013-08-06”(基于我的系统设置)。
修改
这是我目前的解决方案。但这是最好的吗?
public static final CharSequence formatSameDayTimeCustom(Context context, long then) {
if (DateUtils.isToday(then)) {
return DateFormat.getTimeFormat(context).format(new Date(then));
}
else {
final String format = Settings.System.getString(context.getContentResolver(), Settings.System.DATE_FORMAT);
return new SimpleDateFormat(format).format(new Date(then));
}
}