Tôi cố gắng để phân tích một vài cuộc hẹn, nhưng DateTimeParser dường như không đồng ý với tôi về những gì có giá trịJava8 DateTimeFormatter sáng/chiều
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import java.util.Locale
ZonedDateTime.parse("Wed Jul 16, 2016 4:38pm EDT", DateTimeFormatter.ofPattern("EEE MMM dd, yyyy hh:mma z", Locale.US))
Khi tôi cố gắng này nó nói
java.time.format.DateTimeParseException: Text 'Wed Jul 16, 2016 4:38pm EDT' could not be parsed at index 17
Vì vậy, một cái gì đó là sai với giờ? Khi tôi thả một trong những 'h' nó được tiếp tục (altough nó nên chỉ 0-pad giờ của tôi), nhưng sau đó nó không thích pm-thứ
ZonedDateTime.parse("Wed Jul 16, 2016 4:38pm EDT", DateTimeFormatter.ofPattern("EEE MMM dd, yyyy h:mma z", Locale.US))
java.time.format.DateTimeParseException: Text 'Wed Jul 16, 2016 4:38pm EDT' could not be parsed at index 21
Tôi không biết những gì chính xác mình vấn đề là. Khi tôi thử 'hh: mmaa' như một khuôn mẫu, nó nói rằng nó không giống như hai và bây giờ tôi đang bị mắc kẹt, vì các thông báo lỗi không hữu ích.
wow .. Bất kỳ ý tưởng nào tại sao mặc định không hỗ trợ trường hợp thấp hơn? Tôi đã chuyển đổi mã java.util.Date cũ sang java.time và SimpleDateFormat không có vấn đề gì với nó. –