2017-09-19 3 views
2

von bestimmten Zeitpunkt finden können habe ich ein Datum wie 2017.08.12 11.30.00 und ich möchte Datum anzuzeigen, wie sat, 12 aug 2017 11:30 am(06:00 GMT) i sat, 12 aug 2017 11:30 am folgenden Code erhaltenWie ich GMT

let myDate = "2017-08-12 11:30:00" 

    let date = myDate.date(format: .custom("yyyy-MM-dd HH:mm:ss")) 
    let strDate = date?.string(format: .custom("EEE, dd MMM yyyy hh:mm a")) 
    let localDate = strDate?.date(format: .custom("EEE, dd MMM yyyy hh:mm a")) 
    let strLocalDate = localDate?.string(format: .custom("EEE, dd MMM yyyy hh:mm a")) 

aber wie kann ich GMT finden?

für GMT Ich habe auch versucht formatter.timeZone = TimeZone(identifier:"GMT") aber es hat nicht funktioniert.

bitte hilfe, Danke!

+0

Welcher Typ ist 'Datum'? Bitte zeigen Sie den Code, der es erstellt. In der Tat müssen Sie ein minimales vollständiges überprüfbares Beispiel schreiben. – JeremyP

+0

@ JeremyP Datumsformat ist '" JJJJ-MM-TT HH: mm: ss "' –

+0

@ JeremyP und was willst du von mir verifizierbar? Ich habe bereits einen Code für meine Datumsumwandlung angegeben. –

Antwort

1

dieses code.I Versuchen getestet haben, ist es für mich arbeiten in swift3.0.

 let myDate = "2017-08-12 11:30:00" 
     let localDateFormat = DateFormatter() 
     localDateFormat.dateFormat = "YYYY-mm-dd hh:mm:ss" 
     let localDate = localDateFormat.date(from: myDate) 
     localDateFormat.dateFormat = "EEE, dd MMM yyyy hh:mm a" 
     let myNewDate = localDateFormat.string(from: localDate!) 
     print(myNewDate) 
     //GMT Date 
     let gmtDateFormat = DateFormatter() 
     gmtDateFormat.dateFormat = "HH:mm a" 
     gmtDateFormat.timeZone = NSTimeZone(abbreviation: "GMT")! as TimeZone 
     let gmtDateString = gmtDateFormater.string(from: localDate!) 
     print(gmtDateString) 

     print("time:\(myNewDate)(\(gmtDateString))") 
+0

Danke, es funktionierte für mich :) –

+0

@KhushbuDesai - aber das OP is get 'Do, 12 Jan 2017 11:30 AM (11:30 AM)', aber du brauchst als 'sat, 12 aug 2017 11:30 am (06:00 GMT)' wie wird die richtige Antwort –

+0

gesetzt gmtDateFormat. dateFormat = "HH: mm", und drucken ("time: \ (myNewDate) (\ (gmtDateString) GMT)") – AshokPolu

0

Möchten Sie Zeit mit Zone anzeigen? Wenn ja, müssen Sie das Format zzz verwenden. Nach dem Code sehen Sie bitte den Code.

 let strLocalDate = localDate?.string(format: .custom("EEE, dd MMM yyyy hh:mm a zzz")) 

Wenn Sie ein Textdatum haben, müssen Sie auch die Zeitzone einstellen.

formatter.timeZone = TimeZone(identifier: "GMT"); 

Bitte lassen Sie mich über die Antwort wissen, Beispiel Zeitzone einstellen

geben