java - Joda DateTimeFormat 没有 - 分隔符?

标签 java jodatime

我试图以 yyyyMMdd 的格式创建 joda LocalDate,但每次我解析它以创建对象时,它都会无缘无故地插入像 yyyy-MM-dd 这样的连字符。

DateTimeFormatter format = DateTimeFormat.forPattern("yyyyMMdd");
LocalDate d = format.parseLocalDate("20150101");

有没有办法让它最终看起来像 20150101 还是永远是 2015-01-01?

最佳答案

解决方案是不使用toString()方法:

DateTimeFormatter format = DateTimeFormat.forPattern("yyyyMMdd");
LocalDate d = format.parseLocalDate("20150101");
System.out.println(format.print(d)); // 20150101
System.out.println(d); // using toString(): 2015-01-01

很简单,不是吗?对我来说,使用连字符的形式更具可读性,因此这是方法 toString() 的标准输出的自然选择。

顺便说一句:这两个变体都是有效的 ISO-8601 字符串。不带连字符的形式称为“基本日期”,而带连字符的形式称为“扩展日期”。

关于java - Joda DateTimeFormat 没有 - 分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28801828/

相关文章:

java - 在 JSP scriptlet 中,如何访问从 Spring MVC ModelMap 传递的 java.util.Date 值?

java - JCombobox可编辑Java编程

java - Tomcat 7 管理器/文本界面不工作

java - 从 jar 中删除类后不会出现构建编译问题吗?

java - 在 JDO/DataNucleus 中,我可以查询 Joda-Time DateTime 对象吗?

java - 更新 Joda DateTime 对象

java - Android Studio 本地库模块问题

java - 如何从 SQL 中的两个表中获取匹配的行,而无需从 java 中重复调用

java - 格式化 UTC 日期时间的部分秒

java - 准备语句到数据库设置变量类型处理