2017-01-25 8 views
1

日付文字列のためたDateFormatter(NSDateFormattter)をフォーマットする方法日付文字列の次のためにフォーマッタ(NSFormatter)を構築する方法

Date dateString = "Sun Oct 30 2016 00:00:00 GMT+0530 (IST)" 

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "E MMM d yyyy HH:mm:ss" // This line is not working 
let dd: Date? = dateFormatter.date(from: dateString) 
print("Date \(dd)") // Is returning null 

APIリファレンス:私はあなたがするDateFormatterを伝える必要があるでしょうと思います https://developer.apple.com/reference/foundation/dateformatter

+0

あなたの日付文字列の一部である 'dateFormat'では、あなたはアカウントに入っていません:' GMT + 0530(IST) '。ですから、 'dd'はゼロです。 – Larme

+0

GMT +0530(IST)を表す方法を教えてください。 – Helloworld

+0

「GMT + 0530」をご覧ください:http://www.unicode.org/reports/tr35/tr35 -31/tr35-dates.html#Date_Format_Patterns – Larme

答えて

2

'GMT'部分は無視されます。あなたが+0530を持っていれば、GMTは意味するので、あなたはそれを必要としません。この文字列の

let dateString = "Sun Oct 30 2016 00:00:00 GMT+0530" 

この形式が機能:

dateFormatter.dateFormat = "E MMM d yyyy HH:mm:ss 'GMT'x" 

(IST)が常に同じである場合は、

を使用してもそれを無視するように日付フォーマッタを伝えることができます
dateFormatter.dateFormat = "E MMM d yyyy HH:mm:ss 'GMT'x '(IST)'" 

その部分が異なる場合は、おそらくStringメソッドを使用してその部分を削除する必要があります日付を解析する前に文字列の

関連する問題