有人可以向我解释一下如何转换吗
2009-10-27 14:36:59.580250
进入
2009年10月27日14:36?
第一个日期可以作为字符串使用,第二个日期也应该是字符串;)到目前为止,我还不太喜欢 Java 中的日期转换...
提前致谢!
最佳答案
您可以使用java.text.SimpleDateFormat
为了这。第一步是根据第一个字符串的模式使用 SimpleDateFormat
将第一个字符串解析为 java.util.Date
对象。下一步是根据第二个字符串的模式将获取的 java.util.Date 对象格式化为字符串。例如:
String datestring1 = "2009-10-27 14:36:59.580250";
Date date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(datestring1);
String datestring2 = new SimpleDateFormat("dd.MM.yyyy HH:mm").format(date1);
System.out.println(datestring2);
编辑:我已从第一个模式中删除了 .SSSSSS
部分,因为它失败了。但在我看来,理论上它应该与 "yyyy-MM-dd HH:mm:ss.SSS"
和 "yyyy-MM-dd HH:mm:ss.SSSSSS"一起使用
也是如此,但它是以秒来计算的!我认为这是 SimpleDateFormat
中的一个有缺陷的实现。 JodaTime通过这些模式完美地处理毫/微。
关于java - 如何在 Java 中将日期字符串转换为正确的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1748883/