2013-04-12 2 views
1

я могу получить миллисекунды в Java с:Как я получаю ту же миллисекунду для Java и Objective C

Date date=new Date() ; 
System.out.println("Today is " +date.getTime()); 

Как получить миллисекунд в объективном C? Я должен иметь тот же результат для обоих кодов.

+1

http://stackoverflow.com/questions/889380/how-can-i-get-a-precise-time-for-example-in-milliseconds-in-objective-c – Perception

+0

Вы пытались выполнить поиск, прежде чем спрашивать? В Связанной области я нашел этот вопрос вторым вопросом: http://stackoverflow.com/questions/3990295/in-iphoneobjective-c-how-do-i-get-the-current-date-formatted-in-miliseconds -to? rq = 1 – Darwind

+0

Поскольку ObjC - это C, вы должны просто использовать 'time() * 1000' из' time.h'. – millimoose

ответ

3

Документация для Java Date.getTime() является:

Возвращает количество миллисекунд, прошедших с 1 января 1970, 00:00:00 GMT в лице этого объекта Date.

Для Objective-C аналогичный метод:

- (NSTimeInterval)timeIntervalSince1970 

Возвращаемое значение: Интервал между приемником и датой ссылкой , 1 января 1970, GMT.

NSTimeInterval - double в считанные секунды. Таким образом, это делает его:

llrint (1000.0 * [date timeIntervalSince1970]); 

, чтобы получить Вас long (как производит Java).

Примечание: ответы 'duplicate' не производят long, как это делает интерфейс Java; они производят double.

+1

+1 Это напрямую отвечает на вопрос о совместимом с Java значении ms. Обратите внимание, что 'llrint' может быть более точным, чем' lrint', потому что Java long всегда 64 бит. – Roger

Смежные вопросы