2014-10-25 29 views
5

Tôi hiện đang làm việc để chuyển đổi từ ngày thành chuỗi. Sau đó tôi chuyển chuỗi đó thành datetime. Nhưng nó sai. Bất cứ ai cũng có thể giúp tôi?Cách chuyển đổi chuỗi thành ngày giờ trong java bằng cách sử dụng thời gian joda

Đây là mã.

import org.joda.time.DateTime 
import org.joda.time.format.DateTimeFormat 
import org.joda.time.format.DateTimeFormatter 
import java.util.Date; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat; 


SimpleDateFormat outFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); 
String dt1 = outFormat.format(date1); 


DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss"); 
DateTime dt = formatter.parseDateTime(dt1); 
+0

thể trùng lặp của [Java chuỗi để chuyển đổi ngày] (http://stackoverflow.com/questions/4216745/java-string-to-date-conversion) –

Trả lời

10

Bạn đang làm quá nhiều công việc. Thời gian Joda có thể chuyển đổi cho bạn theo phương pháp parse(String, DateTimeFormatter) của nó.

DateTime dateTime = DateTime.parse(dt1, formatter); 

Ngoài ra, nếu chuỗi của bạn là ở định dạng ISO8601 (có nghĩa là, yyyy-MM-dd'T'HH:mm:ssZ), bạn có thể chỉ cần sử dụng parse(String) thay vì:

DateTime dateTime = DateTime.parse(dt1); 
Các vấn đề liên quan