欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

iOS中怎么將時間NSDate轉化為毫秒時間戳-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關iOS中怎么將時間NSDate轉化為毫秒時間戳,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

10年積累的成都網站設計、成都網站制作、外貿網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有沐川免費網站建設讓你可以放心的選擇與我們合作。

對于將NSDate類型轉換為時間戳,相信大家肯定都會,這樣的示例代碼,在百度等搜索引擎上面一搜索就是一大篇的東西,但是,大家有沒有注意到的是 通過那些方法轉換得到的時間戳是 10位的數值,這個數值在轉化為 NSDate類型的時候,就會出點兒錯,你會發(fā)現(xiàn),每一個時間的 毫秒都是為000的;

iOS中怎么將時間NSDate轉化為毫秒時間戳

錯誤的毫秒輸出

而正確的應該是下面這樣的輸出:

iOS中怎么將時間NSDate轉化為毫秒時間戳

正確的毫秒輸出

好了,接下來就是問題所在了:其實呢,并不是我們代碼出錯了,而是因為 [[NSDate date] timeIntervalSince1970] 雖然可以獲取到后面的毫秒、微秒 ,但是在保存的時候省略掉了。如一個時間戳不省略的情況下為 1395399556.862046 ,省略掉后為一般所見 1395399556 。所以想取得毫秒時用獲取到的時間戳 *1000 ,想取得微秒時 用取到的時間戳 * 1000 * 1000 。這樣就解釋了上面的10位數值的問題,當你取毫秒的時候,就會變成13位數值了。我想這樣大家應該明白了吧!

當然,說了 這么多理論性的東西,為的就是我們接下來會附上的代碼的:

將這段代碼寫在 你需要獲取時間戳和轉換的地方,而我因為是簡單示范,就放在-viewDidload里面的。

long long time = [self getDateTimeTOMilliSeconds:[NSDate date]];

NSLog(@"%llu",time);

NSDate *dat = [self getDateTimeFromMilliSeconds:time];

NSDateFormatter * formatter = [[NSDateFormatter alloc ] init];

[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss.SSS"];

NSString *date = [formatter stringFromDate:dat];

NSString *timeLocal = [[NSString alloc] initWithFormat:@"%@", date];

NSLog(@"\n%@", timeLocal);

里面包含了自己寫出來了2個小函數,這2個函數呢,是互逆的:

//將時間戳轉換為NSDate類型

-(NSDate *)getDateTimeFromMilliSeconds:(long long) miliSeconds

{

NSTimeInterval tempMilli = miliSeconds;

NSTimeInterval seconds = tempMilli/1000.0;//這里的.0一定要加上,不然除下來的數據會被截斷導致時間不一致

NSLog(@"傳入的時間戳=%f",seconds);

return [NSDate dateWithTimeIntervalSince1970:seconds];

}

//將NSDate類型的時間轉換為時間戳,從1970/1/1開始

-(long long)getDateTimeTOMilliSeconds:(NSDate *)datetime

{

NSTimeInterval interval = [datetime timeIntervalSince1970];

NSLog(@"轉換的時間戳=%f",interval);

long long totalMilliseconds = interval*1000 ;

NSLog(@"totalMilliseconds=%llu",totalMilliseconds);

return totalMilliseconds;

}

這樣,你就可以得到你想要的13位時間戳,并且從這個時間戳里面獲取正確的時間(精確到毫秒喲!)。

附:時間戳轉NSDate

+ (NSDate *)getLocateTime:(unsigned int)timeStamp {

 double dTimeStamp = (double)timeStamp;

 NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:dTimeStamp];

 return confromTimesp;

}

關于iOS中怎么將時間NSDate轉化為毫秒時間戳就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前文章:iOS中怎么將時間NSDate轉化為毫秒時間戳-創(chuàng)新互聯(lián)
本文鏈接:http://chinadenli.net/article26/edsjg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站制作微信公眾號營銷型網站建設品牌網站建設網站策劃關鍵詞優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網站