国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS將時間NSDate轉化為毫秒時間戳的方法示例

2020-07-26 02:24:15
字體:
來源:轉載
供稿:網友

前言

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

錯誤的毫秒輸出

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

正確的毫秒輸出

好了,接下來就是問題所在了:其實呢,并不是我們代碼出錯了,而是因為 [[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;}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 老河口市| 佛山市| 江城| 隆尧县| 明溪县| 新巴尔虎左旗| 天镇县| 婺源县| 胶州市| 蒲城县| 轮台县| 郴州市| 津市市| 宝坻区| 长岭县| 滦南县| 昌邑市| 五家渠市| 克山县| 沧源| 佛教| 寿光市| 繁昌县| 桓台县| 阳江市| 中卫市| 治县。| 禹城市| 陆川县| 禹州市| 西贡区| 湖州市| 阿荣旗| 柯坪县| 昆明市| 姜堰市| 南岸区| 赤壁市| 东港市| 德格县| 通化市|