我正在尝试以yyyyMMdd格式制作一个joda LocalDate,但每次我解析它以创建对象时,它都会插入像yyyy-MM-dd这样的连字符。
DateTimeFormatter format = DateTimeFormat.forPattern("yyyyMMdd");
LocalDate d = format.parseLocalDate("20150101");
有没有办法让这个最终看起来像20150101,还是会永远是2015-01-01?
答案 0 :(得分:1)
解决方案不是使用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字符串。不带连字符的表单称为BASIC DATE,带连字符的表单称为EXTENDED DATE。