【移動(dòng)應(yīng)用開發(fā)技術(shù)】iOS中怎么將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳_第1頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】iOS中怎么將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳_第2頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】iOS中怎么將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】iOS中怎么將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳

這篇文章將為大家詳細(xì)講解有關(guān)iOS中怎么將時(shí)間NSDate轉(zhuǎn)化為毫秒時(shí)間戳,文章內(nèi)容質(zhì)量較高,因此在下分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。對于將NSDate類型轉(zhuǎn)換為時(shí)間戳,相信大家肯定都會(huì),這樣的示例代碼,在百度等搜索引擎上面一搜索就是一大篇的東西,但是,大家有沒有注意到的是通過那些方法轉(zhuǎn)換得到的時(shí)間戳是10位的數(shù)值,這個(gè)數(shù)值在轉(zhuǎn)化為NSDate類型的時(shí)候,就會(huì)出點(diǎn)兒錯(cuò),你會(huì)發(fā)現(xiàn),每一個(gè)時(shí)間的毫秒都是為000的;錯(cuò)誤的毫秒輸出而正確的應(yīng)該是下面這樣的輸出:正確的毫秒輸出好了,接下來就是問題所在了:其實(shí)呢,并不是我們代碼出錯(cuò)了,而是因?yàn)閇[NSDatedate]timeIntervalSince1970]雖然可以獲取到后面的毫秒、微秒,但是在保存的時(shí)候省略掉了。如一個(gè)時(shí)間戳不省略的情況下為1395399556.862046,省略掉后為一般所見1395399556。所以想取得毫秒時(shí)用獲取到的時(shí)間戳*1000,想取得微秒時(shí)用取到的時(shí)間戳*1000*1000。這樣就解釋了上面的10位數(shù)值的問題,當(dāng)你取毫秒的時(shí)候,就會(huì)變成13位數(shù)值了。我想這樣大家應(yīng)該明白了吧!當(dāng)然,說了這么多理論性的東西,為的就是我們接下來會(huì)附上的代碼的:將這段代碼寫在你需要獲取時(shí)間戳和轉(zhuǎn)換的地方,而我因?yàn)槭呛唵问痉叮头旁?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個(gè)小函數(shù),這2個(gè)函數(shù)呢,是互逆的://將時(shí)間戳轉(zhuǎn)換為NSDate類型

-(NSDate

*)getDateTimeFromMilliSeconds:(long

long)

miliSeconds

{

NSTimeInterval

tempMilli

=

miliSeconds;

NSTimeInterval

seconds

=

tempMilli/1000.0;//這里的.0一定要加上,不然除下來的數(shù)據(jù)會(huì)被截?cái)鄬?dǎo)致時(shí)間不一致

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

return

[NSDate

dateWithTimeIntervalSince1970:seconds];

}

//將NSDate類型的時(shí)間轉(zhuǎn)換為時(shí)間戳,從1970/1/1開始

-(long

long)getDateTimeTOMilliSeconds:(NSDate

*)datetime

{

NSTimeInterval

interval

=

[datetime

timeIntervalSince1970];

NSLog(@"轉(zhuǎn)換的時(shí)間戳=%f",interval);

long

long

totalMilliseconds

=

interval*1000

;

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

return

totalMilliseconds;

}這樣,你就可以得到你想要的13位時(shí)間戳,并且從這個(gè)時(shí)間戳里面獲取正確的時(shí)間(精確到毫秒喲?。?。附:時(shí)間戳轉(zhuǎn)NSDate+

(NSDate

*)getLocateTime:(unsigned

int)timeStamp

{

double

dTimeStamp

=

(double)timeStamp;

NSDate

*confromTimesp

=

[NSDate

dateWithTimeIntervalSince1970:dTimeStamp];

return

c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論