2017-02-14 92 views
3

我可以從GMT獲得偏移秒數:TimeZone.current.secondsFromGMT()如何獲得時區偏移爲±hh:mm?

但是,如何獲得格式爲±hh:mm

+0

只需使用dateFormatter即可。 'dateFormatter.dateFormat =「xxxxx」' –

+1

[Convert Seconds Integer To HH:MM,iPhone](http://stackoverflow.com/questions/1739383/convert-seconds-integer-to-hhmm-iphone) – rmaddy

+0

@LeoDabus你不能用'DateFormatter'來實現這一點。沒有'日期'。 – rmaddy

回答

7

一些整數運算,以獲得在時間偏移和 分鐘:

let seconds = TimeZone.current.secondsFromGMT() 

let hours = seconds/3600 
let minutes = abs(seconds/60) % 60 

格式化打印:

let tz = String(format: "%+.2d:%.2d", hours, minutes) 
print(tz) // "+01:00" 

%.2d打印與(至少)兩個十進制數的整數(和領先 零如果需要的話)。 %+.2d是相同的,但帶有標誌的 非負數。

+0

如何從時區獲得UTC偏移? –

+0

@Himanshujamnani:'TimeZone.current.secondsFromGMT()'是UTC偏移量。 –