2013-04-05 35 views

Trả lời

25

Có một bài đăng tương tự herehere.

Về cơ bản bạn có được hình thức thứ hai ngày tham khảo (01 tháng 1 2001, GMT) và nhân nó với 1000.

NSTimeInterval seconds = [NSDate timeIntervalSinceReferenceDate]; 
double milliseconds = seconds*1000; 

Cheers!

+5

'timeIntervalSinceReferenceDate' trả về một' double'. Nếu bạn gán nó cho một số nguyên trước khi nhân với 1000, thì bạn mất chính xác mili giây! –

+0

Vâng, xin lỗi tôi đã xấu. NSTimeInterval là một typedef của double: 'typedef double NSTimeInterval;' – alexcristea

+0

Bạn thực sự cần phải sử dụng một double để lưu trữ mili giây, hoặc bạn có khả năng chạy vào một vấn đề tràn. đôi mili giây = giây * 1000; – Michael

1

timeIntervalSince1970 sẽ trả về giây từ năm 1970. Có các phương thức timeIntervalSince khác nếu cần.

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDate/timeIntervalSince1970

Đối với chuyển đổi ngược lại, tôi muốn nói từ mili giây để NSDate, tham khảo bài viết stackoverflow này. Convert milliseconds to NSDate

Hy vọng nó sẽ giải quyết vấn đề của bạn.

Các vấn đề liên quan