tôi cần phải phân tích số ngày (Đức) có sẵn trong các hình thức sau đây:Làm thế nào để phân tích tên tháng phi tiêu chuẩn với DateTimeFormatter
10. Jan. 18:14
8. Feb. 19:02
1. Mär. 19:40
4. Apr. 18:55
2. Mai 21:55
5. Juni 08:25
5. Juli 20:09
1. Aug. 13:42
[...]
Như bạn có thể thấy, các tên tháng được cắt nếu tháng đó có nhiều hơn 4 ký tự. Thậm chí hơn nữa, đừng hỏi tôi tại sao, tháng 3 được rút ngắn thành Mär.
mặc dù toàn bộ tên là März
. Làm cách nào để phân tích cú pháp này với java.time
? (Các ngày được định dạng dựa trên nội địa hóa các thiết bị Android mà tạo ra danh sách các ngày Tuy nhiên, tôi không phân tích nó trên Android.)
Tiếp cận của tôi là tạo ra một DateTimeFormatter
như thế này:
DateTimeFormatter.ofPattern("d. MMMM HH:mm").withLocale(Locale.GERMAN);
// or
DateTimeFormatter.ofPattern("d. MMMMM HH:mm").withLocale(Locale.GERMAN);
Nhưng không phải MMMM
cũng không phải mẫu MMMMM
phù hợp với những ngày được rút ngắn. Tôi có thể, tất nhiên, có các mẫu sau d. MMM. HH:mm
để phù hợp với những tháng rút ngắn, nhưng sau đó tôi không thể phù hợp với 3 và 4 ký tự tháng. Tôi biết rằng tôi có thể có hai định dạng (MMM. and MMMMM
) nhưng tôi muốn có một giải pháp mà tôi chỉ có một trình định dạng và có thể là một ngôn ngữ tùy chỉnh hoặc một cái gì đó như thế này.
Nếu bạn có quyền kiểm soát ứng dụng Android đó, nó sẽ là tốt hơn rất nhiều để có nó gửi các ngày trong một định dạng tiêu chuẩn. Các định dạng được bản địa hóa chỉ nên được sử dụng cho tương tác của người dùng chứ không phải để trao đổi dữ liệu. Nếu không, tôi nghĩ bạn có thể chỉ cần loại bỏ các ký tự trước khi không gian trước khi phân tích cú pháp. – RealSkeptic
Rất tiếc, tôi không có quyền kiểm soát ứng dụng Android, nếu không tôi sẽ truyền dữ liệu dưới dạng có cấu trúc và sử dụng dấu thời gian unix cho ngày :-). Chỉ cần loại bỏ các ký tự befor không gian, tức là các dấu chấm, không giúp đỡ bởi vì nó vẫn còn lại cho tôi trong một kết hợp giữa tên tháng rút gọn và tên đầy đủ. – rob
Không, nếu bạn loại bỏ các ký tự trước khi không gian nó cũng rút ngắn Juli và Juni đến tháng Bảy và tháng Sáu – RealSkeptic