我正在尝试使用 Java 8 的 DateTimeFormatter 将诸如“17/01/2019”之类的字符串转换为完全相同格式的日期。
我目前正在使用:
DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy", Locale.ENGLISH);
LocalDateTime dExpCompletionDate = LocalDateTime.parse(sExpCompletionDate, format);
LocalDateTime dExpCommencementDate = LocalDateTime.parse(sExpCommencementDate, format);
并得到错误:
java.time.format.DateTimeParseException: 无法在索引 0 处解析文本“”
这表明我的格式有问题。
目前,我尝试使用默认格式以及使用 LocalDate 而不是 LocalDateTime
您正在尝试获取LocalDateTime
而不是LocalDate
:
LocalDateTime dExpCompletionDate = LocalDateTime.parse(sExpCompletionDate, format);
这是一个小例子LocalDate
:
public static void main(String[] args) {
String sExpCompletionDate = "17/01/2019";
DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy", Locale.ENGLISH);
LocalDate dExpCompletionDate = LocalDate.parse(sExpCompletionDate, format);
// Converts LocalDate into LocalDateTime
LocalDateTime dExpCompletionDate2 = LocalDate.parse(sExpCompletionDate, format).atStartOfDay();
System.out.println(dExpCompletionDate);
System.out.println(dExpCompletionDate2);
}
输出:
2019-01-17
2019-01-17T00:00
这是一个示例LocalDateTime
:
public static void main(String[] args) {
String sExpCompletionDate = "17/01/2019 14:22:11";
DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.ENGLISH);
LocalDateTime dExpCompletionDate = LocalDateTime.parse(sExpCompletionDate, format);
System.out.println(dExpCompletionDate);
}
输出:
2019-01-17T14:22:11
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句