我DateTimeFormatter
用来解析日期:
private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate.parse("05/12/2015", parser); // it's ok
LocalDate.parse("5/12/2015", parser); // Exception
不幸的是,它无法正确地解析带有单日数字的日期,例如"5/12/2015"
。
我看了一些其他的岗位作为这个,但提出的解决方案并不为我工作。我需要一种可以解析具有一位或两位数日期的日期的方法。
只需使用d
代替dd
-仍允许前导0,但不需要它。我怀疑您也想在几个月内做同样的事情-拥有“ 1或2位数”天而不是几个月就很奇怪...
import java.time.*;
import java.time.format.*;
public class Test {
public static void main(String[] args) throws Exception {
DateTimeFormatter parser = DateTimeFormatter.ofPattern("d/M/yyyy");
System.out.println(LocalDate.parse("05/1/2015", parser));
System.out.println(LocalDate.parse("05/01/2015", parser));
System.out.println(LocalDate.parse("05/12/2015", parser));
System.out.println(LocalDate.parse("5/12/2015", parser));
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句