2017-04-26 18 views
0

我有一個像這樣的十六進制字符串58FF1CE5 。這對應於一個日期時間16/09/1955。(即在MM/dd/yyyy中)。我如何在ObjectiveC中執行此操作,我在didDiscovercharacterstcs中獲取此日期我有一個像這樣的十六進制字符串58FF1CE5.This對應於一個日期時間16/09/1955。(即在MM/dd/yyyy)。我可以做到這一點在ObjectiveC

+1

雖然CodeChanger的答案對於您提出的問題(將十六進制NSString轉換爲NSDate)是正確的,但是我強烈懷疑從藍牙獲得了'NSData',並且當您記錄它時,它是顯示值爲十六進制。如果是這種情況,你應該修改你的問題以反映這一點。 –

回答

0

我認爲您必須將您的十六進制字符串轉換爲日期,您可以使用下面的代碼進行轉換。

unsigned result = 0; 
NSScanner *scanner = [NSScanner scannerWithString:@"58FF1CE5"]; 
[scanner scanHexInt:&result]; 
NSTimeInterval interval = (NSTimeInterval)result; 
NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval]; 

從NSDate的,以十六進制字符串使用下面的代碼:

NSTimeInterval interval = [<YOUR_DATE> timeIntervalSince1970]; 
NSString *strHexInterval = [NSString stringWithFormat:@"%08x", (int)interval]; 
NSLog(@"Hex Interval Value %@", strHexInterval); 

希望這將有助於!

+0

謝謝,你救了我的一天..我犯了愚蠢的錯誤:) –

+0

這很好請接受我的答案。 – CodeChanger

+0

我怎麼能做到反之亦然..是NSdate到HexaValue ..我得到時間戳爲整數值 –

相關問題