我有一个像2017-08-12 11:30:00的日期,我想显示日期为
sat, 12 aug 2017 11:30 am( 06:00 GMT )
我使用以下代码获取sat, 12 aug 2017 11:30 am
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"))
但我怎样才能找到GMT?
对于GMT我也试过formatter.timeZone = TimeZone(identifier:"GMT")
,但它没有用。
请帮忙, 谢谢!
答案 0 :(得分:1)
尝试此代码。我已经测试过,它在 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))")
答案 1 :(得分:0)
你想用区域显示时间吗?如果是,则需要使用zzz
格式。根据您的代码,请参阅代码。
let strLocalDate = localDate?.string(format: .custom("EEE, dd MMM yyyy hh:mm a zzz"))
如果你有文字日期,那么你也需要设置时区。
formatter.timeZone = TimeZone(identifier: "GMT");
请让我知道答案,并举例说明设置时区