我想獲取UTC時間戳。我不能這樣做[[NSDate date] timeIntervalSince1970];
因爲它返回本地時區的時間戳。如何在iOS中獲取UTC的時間戳?iOS獲取UTC時間戳
編輯
解決我可以在這裏帕維爾使用[[NSDate date] timeIntervalSince1970];
:)
我想獲取UTC時間戳。我不能這樣做[[NSDate date] timeIntervalSince1970];
因爲它返回本地時區的時間戳。如何在iOS中獲取UTC的時間戳?iOS獲取UTC時間戳
解決我可以在這裏帕維爾使用[[NSDate date] timeIntervalSince1970];
:)
見回答:Get current date in milliseconds
他指的是使用CFAbsoluteTimeGetCurrent();
這是記錄here。
由於是系統時間,只需修正時間間隔到GMT的偏移量即可。
儘管如此,如果您爲本地時區更正,仍然可以使用您的代碼。
通過調用
[[NSTimeZone systemTimeZone] secondsFromGMT];
或
獲得時區偏移[[NSTimeZone systemTimeZone] secondsFromGMTForDate:[NSDate date]];
請參閱http://stackoverflow.com/questions/14592556/objective-c-how-can-i-get-the-current-date-in-utc-timezone 。 – ahwulf
只是timeIntervalSince1970返回UTC時間爲double(NSTimeInterval)
爲了得到一個32位表示(也許是因爲與嵌入式系統的交互):
time_t timestamp = (time_t)[[NSDate date] timeIntervalSince1970];
斯威夫特3
let utcTimestamp = Date().timeIntervalSince1970
print("timeStamp = \(utcTimestamp)")
在該時區你希望自己的時間戳? – ReeCube
我不想任何時區;)我只想UNIX時間戳。如果我理解正確,UNIX時間戳中沒有時區。 – AYMADA
那麼timeIntervalSince1970如何返回本地時區的時間戳呢? :P – ReeCube