创建一种Java数据格式,在该格式之间插入空格

创建一种Java数据格式,在该格式之间插入空格,java,date-format,Java,Date Format,我想知道Java日期格式是否可以做类似于2 0 1 3 0 1 3 1的事情,在每个数字之间插入一个空格。到目前为止,我可以使用此代码使其工作 DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); dateString = dateFormat.format(date).replace("", " ").trim(); 但我希望我可以创建一个日期格式来完成这一切 提前感谢。您的方法尽可能简单 在日期格式规范中无法做到这一点(即使是像

我想知道Java日期格式是否可以做类似于2 0 1 3 0 1 3 1的事情,在每个数字之间插入一个空格。到目前为止,我可以使用此代码使其工作

DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
dateString = dateFormat.format(date).replace("", " ").trim();
但我希望我可以创建一个日期格式来完成这一切


提前感谢。

您的方法尽可能简单

在日期格式规范中无法做到这一点(即使是像其他人提到的Joda time)


出于兴趣,你为什么想要这样的数字之间的空格?这似乎不寻常?

我建议您编写一个
DateFormat
的子类。您将封装格式规则。

我使用:

private final static SimpleDateFormat MSG_DATE_FORMAT = new SimpleDateFormat("yyyy MM dd'T'HHmmssSSSZ");
...
String timeStamp = MSG_DATE_FORMAT.format( new Date() );

它看起来不像是一种日期格式——我建议您使用Joda时间库,它更像是一种int模式。JDK日期/时间库奇怪且设计不好。@Noran,你为什么认为JDK日期/时间奇怪且设计不好?@Andremoniy See@aetheria好的,谢谢,我会读的,我想我会用我现在拥有的。谢谢此格式仅适用于项目。这是一个有点不寻常的lol.+1似乎没有任何方法告诉你如何以如此分散的方式格式化日期部分。@Aetheria我没有说过你可以在Joda时间内完成。总的来说,我推荐乔达的时间。对不起,我不是有意暗示你暗示的。我完全同意你的建议。这并不比在
DateFormat
之外做要好多少。在您的情况下,必须将此代码(
dateFormat.format(date).replace(“,”).trim()
)封装到子类实现中
replace(“,”)
在所有字母之间以及两端添加空格字符。
trim()
删除了结尾不需要的空格,保留了字符串中的空格。最好先检查事实,然后发布结论
replace(“,”)
很好地解决了问题,吸取了教训,但我的答案是否“回答”了他的问题?埃瑟里亚接受的答案甚至没有给他答案。