2015-07-27 27 views
12

Tôi có số này Optional(2015-07-27 19:29:50 +0000) làm chuỗi? và tôi muốn chuyển đổi nó thành một ngày (NSDate) nhưng tôi không thể hình dung ra tôi đã tìm kiếm rất nhiều giải pháp nhưng tôi khá mới viết mã nên nếu có ai có thể giúp tôi đánh giá cao nó.Chuyển đổi chuỗi tùy chọn thành ngày

Đây là những gì tôi đang sử dụng để chuyển đổi chuỗi thành ngày hiện tại.

lưu ý: dateString là Optional(2015-07-27 19:29:50 +0000)

dateFormatter = NSDateFormatter() 
println(dateFormatter) 
dateFormatter.dateFormat = "yyyy-MM-dd" 
let s = dateFormatter.dateFromString(dateString) 

tôi luôn có được một giá trị nil

+0

Câu hỏi đặt ra nên chung chung hơn, như "Chuyển đổi chuỗi thành dữ liệu", bạn cũng không cần phải thêm thẻ trong câu hỏi của mình, khi chúng được hiển thị tiếp tục xuống. Cuối cùng, bạn cũng nên như vậy trong bối cảnh và những gì bạn đã cố gắng cho đến nay. – Emz

+0

Các câu hỏi tìm kiếm trợ giúp gỡ lỗi ("tại sao mã này không hoạt động?") Phải bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và mã ngắn nhất cần thiết để tái tạo nó trong chính câu hỏi đó. –

+0

có thể trùng lặp của [SWIFT: Cách chuyển đổi ngày chuỗi thành NSDate] (http://stackoverflow.com/questions/24777496/swift-how-to-convert-string-date-to-nsdate) –

Trả lời

42

Nếu bạn nhận được nil từ NSDateFormatter, bạn có thể đã chỉ định định dạng ngày không chính xác. Hãy thử điều này:

let strTime = "2015-07-27 19:29:50 +0000" 
let formatter = NSDateFormatter() 
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z" 
formatter.dateFromString(strTime) // Returns "Jul 27, 2015, 12:29 PM" PST 
+0

Có thể đề cập đến nếu nó dành cho lớp Swift 'Date' để sử dụng' DateFormatter' thay thế. –

0

Bạn sẽ muốn sử dụng một NSDateFormatter và gọi dateFromString: vào nó để có được ngày từ chuỗi. Xem Apple's NSDateFormatter documentation để có giải thích tuyệt vời về việc thực hiện những gì bạn muốn.

0

Trong nhanh chóng 3.0:

let strTime = "2015-07-27 19:29:50 +0000" 
let formatter = NSDateFormatter() 
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z" 
formatter.date(from: strTime) 
0

dateString đã là ngày và cần phải chuyển sang chuỗi. Dưới đây đang làm việc tốt

dateFormatter = NSDateFormatter() println (dateFormatter) dateFormatter.dateFormat = "yyyy-MM-dd" let s = dateFormatter.string (từ: dateString)

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