2015-06-19 4 views
1

Я использую j2objc для перевода java util Date в класс Java-класса Java-объектива-c. Я импортировал #import "java/util/Date.h" для хранения переведенной переменной java Date.Преобразование JavaUtilDate в NSDate и наоборот?

var myDate: JavaUtilDate 

Как преобразовать JavaUtilDate в NSDate?

+0

Итак, что такое JavaUtilDate? Скажи нам это, и кто-то может тебе помочь. –

+0

@ DuncanC Не голосуйте, это серьезный вопрос. Я использую: JavaUtilDate от https://github.com/google/j2objc – confile

+0

@confile Пожалуйста, отредактируйте свой вопрос с дополнительной информацией, а не размещайте комментарии. –

ответ

4

В зависимости от того, где/как вы получаете дату Java, наилучшим вариантом было бы получить миллисекунды и создать экземпляр NSDate вместе с ним.

Поэтому вызовите метод getTime() в дате Java, чтобы получить миллисекунды с момента создания Epoch, а затем создайте NSDate с помощью метода dateWithTimeIntervalSince1970 :. Метод NSDate занимает секунды (как плавающая точка), поэтому разделите его на 1000.0, чтобы сохранить точность (спасибо Martin R за указание на это в комментариях). :)

Java Util Date method

NSDate method


Там, кажется, некоторая путаница о том, что именно спрашивают. Чтобы быть как можно более общим, объекты времени обычно имеют способ получить миллисекунды с эпохи и конструктор (или сеттер), чтобы пройти через секунды с эпохи. Итак, все, что вам нужно сделать, это получить секунды от одного объекта и создать экземпляр другого объекта с помощью секунд.

+2

NSDate занимает секунды как значение * с плавающей запятой * и имеет точность по второстепенным значениям, поэтому вам следует разделить на 1000.0 вместо «измельчения» –

+0

Показывается отсутствие знаний о объективе-c! Метод сказал секунды, не копался в реальных типах. Обновленный ответ. ;) – BlakeP

+0

Этот ответ не имеет никакого отношения к вопросу !!! – confile

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