2011-09-07 24 views
8

Tôi có chuỗi ngày sau: 2011-09-06T22:02:57-04:00. Vấn đề là múi giờ, -04: 00. Các tài liệu Java7 nói rằng tôi có thể sử dụng XXX để kỳ diệu khớp với chuỗi múi giờ này: http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.htmlPhân tích ngày Groovy - X là một ký tự mẫu bất hợp pháp

Vấn đề là Groovy không hỗ trợ ký tự X, có lẽ do chưa sử dụng JDK7. Ký tự z không hoạt động vì không phải là GMT-07:00, chỉ -07:00 Cách đơn giản nhất để phân tích cú pháp múi giờ này là gì?

-tjw

+0

Chính xác thì bạn đang cố gắng làm gì? Nhận được groovy để phân tích ngày và chuyển nó trở lại java? Hoặc một cái gì đó trong groovy? Không rõ chính xác lý do tại sao bạn đang cố gắng làm những gì bạn đang làm – nuzz

+1

OP muốn phân tích cú pháp chuỗi ngày tháng ISO8601 trong Groovy. Đây là một câu hỏi hay, vì hậu tố múi giờ không được hỗ trợ trực tiếp trong lớp 'SimpleDateFormat' trong jar trong bản cài đặt Groovy, tôi nghĩ vậy. –

+0

@Ray các mẫu 'Z' và' z' được hỗ trợ, nhưng không hỗ trợ 'X', do đó vấn đề của tôi. Tôi biết không có cách nào đơn giản khác để phân tích chuỗi này. Để rõ ràng, bất kỳ chương trình Java trước 7 nào cũng sẽ có vấn đề này. –

Trả lời

1

Câu trả lời đơn giản nhất tôi có thể nghĩ đến, chỉ là sử dụng 'Z'. Vấn đề ở đây là -04: 00 không được phân tích cú pháp. Vì vậy, tại sao không chỉ chạy một regex trước khi cố gắng để chuyển đổi nó, tìm kiếm cuối cùng: và loại bỏ nó.

Các vấn đề liên quan