在我的应用程序正在使用这样的代码:

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();

这是找到分钟字段的位置的字符串中然后让我直后它的秒添加。唯一真正的问题,我可以用这个看到,除了它是一个有点难看,是“:”可能不正确的分隔符,它可能已经有秒它。所以任何人都可以看到一个更好的答案?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top