2017-07-31 3 views
-1

こんにちは、私は11時40分からのように時間を取得したい "2017-07-31T11:40:00.000Z"どうYYYY-MM-dd'T'HHから時刻を取得する:MM:ss.sssZ

 let formatter = Foundation.DateFormatter() 
     formatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.sssZ" //2017-04-01T18:05:00.000 
     let date1 = formatter.date(from: data.arvTime) 
     print("date:\(String(describing: date1))") 
     let dateFormatterPrint = Foundation.DateFormatter() 
     dateFormatterPrint.dateFormat = "HH:mm" 
     let resultTime = dateFormatterPrint.string(from: date1!) 
     print("time:\(String(describing: resultTime))") 

を時間を取得1として:私が間違っている時に

を取得しています29つまり、この問題を解決するために私を助けてください以下は、私が使用していたコードです。

+0

問題は何ですか? –

+0

間違った時間を取得(私の質問を編集) – user2931321

+0

この問題を解決するために私を助けてください。何も投票しないでください – user2931321

答えて

1

DATEFORMAT

formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" 

代わりの完全なコードのための

formatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.sssZ" 

let formatter = Foundation.DateFormatter() 
    formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" //2017-04-01T18:05:00.000 
    let date1 = formatter.date(from: "2017-04-01T18:05:00.000Z") 
    print("date:\(String(describing: date1))") 
    formatter.dateFormat = "HH:mm" 
    let resultTime = formatter.string(from: date1!) 
    print("time:\(String(describing: resultTime))") 

オプション2

let formatter = Foundation.DateFormatter() 
    formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.sssZ" //2017-04-01T18:05:00.000 
    let date1 = formatter.date(from: "2017-04-01T18:05:00.000Z") 
    print("date:\(String(describing: date1))") 
    formatter.timeZone = TimeZone(abbreviation: "UTC") 
    formatter.dateFormat = "HH:mm" 
    let resultTime = formatter.string(from: date1!) 
    print("time:\(String(describing: resultTime))") 
012を使用

出力

enter image description here

+0

@Karthikありがとう – user2931321

0

この がdateFormattertimeZoneプロパティを使用してください。

let formatter = Foundation.DateFormatter() 
formatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.sssZ" 
let date1 = formatter.date(from: "2017-07-31T11:40:00.000Z") 
print("date:\(String(describing: date1))") 
let dateFormatterPrint = Foundation.DateFormatter() 
dateFormatterPrint.timeZone = TimeZone(abbreviation: "UTC") 
dateFormatterPrint.dateFormat = "HH:mm" 
let resultTime = dateFormatterPrint.string(from: date1!) 
print("time:\(String(describing: resultTime))") 
1

NSLogは、ローカルのタイムゾーンではなく、GMTタイムゾーンで日付オブジェクトを常に出力します。現地時間帯を使用してください

関連する問題