dre*_*nda 5 java java-8 java-time
我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
Run Code Online (Sandbox Code Playgroud)
不幸的是,它无法正确解析带有单日数字的日期,例如"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));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2613 次 |
| 最近记录: |