我可以更改DateFormat.SHORT包括秒或类似的东西?
-
12-09-2019 - |
题
在我的应用程序正在使用这样的代码:
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale);
df.setTimeZone(User.getTimeZone());
String s = df.format(d);
要在应用程序格式的日期被跨不同的区域使用。我想,有时候,添加秒到这一点,但我不想使用SimpleDateFormat的,因为我将失去语言环境基于格式的功率只需指定一个特定的格式。
因此,任何人有任何想法如何使该区域设置格式的日期一个小的变化?
干杯,
克里斯
解决方案
的唯一直接的解决方案,我已经发现,使用FieldPosition中:
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale);
df.setTimeZone(User.getTimeZone());
StringBuffer sb = new StringBuffer();
FieldPosition fp = new FieldPosition(DateFormat.MINUTE_FIELD);
sb = df.format(d, sb, fp);
sb.insert( fp.getEndIndex(), new SimpleDateFormat(":ss").format(d) );
String s = sb.toString();
这是找到分钟字段的位置的字符串中然后让我直后它的秒添加。唯一真正的问题,我可以用这个看到,除了它是一个有点难看,是“:”可能不正确的分隔符,它可能已经有秒它。所以任何人都可以看到一个更好的答案?
不隶属于 StackOverflow