2015-09-02 86 views
4

使用[NSDate date]獲取當前時間。 一切工作正常,如果用戶不改變時間...我的意思是如果用戶手動更改而不是自動設置它。 那我怎樣才能得到原來的時間?如何在iOS中獲取當前時間而不是設備時間

謝謝!

+1

如果你不信任的設備時,你需要調出使用NTP – chedabob

+0

是外部服務這是不可能的,而不是NTP服務。如果假設我在離線狀態下更改日期,並在一段時間後自動設置日期。那麼Apple如何在離線狀態下獲取原始時間。 –

+0

因此,iOS設備可以同步時間在這種情況下,Apple可能會使用GPS信號中包含的時間戳,或者他們使用蜂窩基站廣播的時間戳,但這兩種都不適用於您。 –

回答

2

你找不到這個。通過我的思緒,唯一的辦法就是把日期從你的服務器.. :(

+0

如果服務器在不同的時區,如何根據用戶時區進行轉換。 –

+0

看看這個答案http://stackoverflow.com/questions/29406819/how-to-convert-server-response-date-to-local-timezone基本上你保持在UTC的日期,並從服務器獲取它時添加本地時區當創建NSDate –

+0

希望這是唯一的方式,不能v從蘋果服務器獲取時間 –

0
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];        
// display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings 
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 

    NSString *startTime = [dateFormatter stringFromDate:startDateTime];     

    NSString *endTime = [dateFormatter stringFromDate:endDateTime]; 

    NSLog(@"User's current time %@ and end Time %@ in their preference format",startTime,endTime); 
相關問題