2016-03-10 46 views
-1

我知道這有幾個問題。但我嘗試了所有的建議,仍然不符合真實設備的時間。錯誤的時間使用NSDateFormatter

let dater = NSDate() 
    let dayTimePeriodFormatter = NSDateFormatter() 
    dayTimePeriodFormatter.locale = NSLocale.currentLocale() 
    dayTimePeriodFormatter.timeZone = NSTimeZone(name: "UTC") 
    dayTimePeriodFormatter.dateFormat = "H:s" 
    var dateString = dayTimePeriodFormatter.stringFromDate(dater) 

設備(實際)時間:22:11。 dateString輸出:00:36

有什麼建議嗎?謝謝!

+1

您正在設置UTC的時區,我猜測它不是您所在的時區。您可能需要將其設置爲'NSTimeZone.systemTimeZone()' –

+0

嗨@NickWhite。謝謝。但是當我將它改爲SystemTimeZone時,結果是00:58,而所需的時間是00:43 –

回答

2

尼克指出,你使用的UTC時區,你可以去當地的時區與NSTimeZone.systemTimeZone()

它也可能是你真的不打算只使用小時( H)和秒(s)你可能也想要分鐘(m)。嘗試使用「H:m:s」的日期格式

更好的是,使用「H:mm:ss」,它將強制分鐘和秒爲兩位數,而不是一個,所以您不需要結束「10:4:3」

+0

嘿!謝謝。但是,當我將它更改爲SystemTimeZone的結果是00:58,而所需的時間是00:43 –

+0

我正在製作鎖屏的副本,所以我只需要h/m –

+0

您是否嘗試更改dateFormat也建議? –

0

您試過dayTimePeriodFormatter.dateFormat = "HH:mm"

蘋果使用固定的互聯網。查看here查看一些示例。這可能會有所幫助