2012-05-31 34 views
5

Trong một lớp java, tôi nhận được ngày như chuỗi nói "renewDate" từ biểu mẫu nhập ngày tháng vào tháng/ngày/năm.Định dạng ngày bằng cách sử dụng thư viện thời gian Joda

Khi tôi cố gắng cập nhật trong các mã sử dụng Joda Thời gian thư viện

DateTime expireDate = new DateTime(renewDate); 
// i get error at above line 
updateOrganization.setRenewdate(expireDate.toDate()); 
organizationDAO.update(updateOrganization); 

nhưng nếu tôi định dạng ngày theo hình thức ví dụ, từ mm/dd/yyyy để yyyy-mm-dd và gửi nó tới lớp java hoạt động tốt.

Làm cách nào để định dạng ngày từ tháng/ngày/năm sang yyyy-mm-dd ở lớp Java. Đầu vào là Stringformat.

+0

Loại máy ghi ngày nào? AWT, SWT, JSF, JS ...? – Thor

+0

Hãy thử tìm kiếm qua API của trình đặt ngày cho các từ khóa như 'mẫu'. – JMelnik

Trả lời

15

Danh mục các định dạng hợp lệ cho các nhà xây dựng bạn đang sử dụng là chi tiết trong javadoc of ISODateTimeFormat, mà không bao gồm "mm/dd/yyyy":

datetime = thời gian | date-opt-time
thời gian = 'T' yếu tố thời gian [bù trừ]
ngày-giờ-thời gian = yếu tố ngày ['T' [yếu tố thời gian] [bù trừ]]
yếu tố ngày = std- date-element | ord-date-element | tuần cập nhật phần tử
std-ngày-element = yyyy [ '-' MM [ '-' dd]] ord cập nhật phần tử
= yyyy [ '-' DDD]
tuần-ngày-element = xxxx '-W' ww ['-' e]
yếu tố thời gian = HH [yếu tố phút] | [fraction]
yếu tố phút = ':' mm [phần tử thứ hai] | [fraction]
yếu tố thứ hai = ':' ss [phân số]
phân số = ('.' | ',') chữ số +
offset = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]])

Bạn có thể phân tích định dạng khác với DateTimeFormatter (lưu ý MM trong trường hợp trên cho tháng):

DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy"); 
DateTime expireDate = fmt.parseDateTime(renewDate); 
2

bạn cần phải phân tích ngày bằng cách sử dụng phương pháp tĩnh parse như các nhà xây dựng giả String có định dạng ISO

Định dạng ngày bạn cần là như bên dưới

DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy"); 
DateTime expireDate = DateTime.parse(renewDate, fmt); 
Các vấn đề liên quan