Дополнительно
Как преобразовать дату в миллисекундах
Я хочу, чтобы преобразовать строку myDate = "и 2014/10/29 18:10:45"в к длинный МС (т. е. currentinmlilies)
? Я искать его на Google, но я могу только найти как конвертировать МС по дата.
Примечание: чтобы было понятно, я хочу получить МС с даты в формате 1970/1/1.
29
4
Вы Don'т иметь
дата
, то естьстрока
представление даты. Вы должны преобразовать строку в дату и затем получить миллисекунды. Чтобы преобразовать строку в дату и наоборот, вы должны использоватькласса simpledateformat
класс.Здесь'ы пример того, что вы хотите/нужно сделать (если часовой пояс не участвует здесь):
Все-таки, будьте осторожны, потому что в Java полученных миллисекунды миллисекунды между желаемым эпохи и 1970-01-01 00:00:00.
С помощью нового Дата/Время API доступно начиная с Java 8:
многабукаф.
А LocalDateTime, как ваш входной строки, отсутствует какое-либо понятие часовой пояс или смещение от времени UTC. Без контекста зоне/смещение,
LocalDateTime
не имеет реального смысла. Это 6:10 pm В Индии, Европе или Канаде? В каждом из тех мест, опыт 6:10 pm в разные моменты, в разных точках на временной шкале. Так, необходимо указать, что вы имеете в виду, если вы хотите определить конкретную точку на временной шкале.Теперь у нас есть определенный момент в том, что
ZonedDateTime
. Конвертировать в UTC, получающегомгновение
. ОМиГ
класс представляет момент на временной шкале в мирового с разрешением НС (до девяти (9) цифр десятичной дробью).Теперь мы можем получить желаемое число миллисекунд с момента обращения эпоху первой минуты 1970 года в формате UTC 1970-01-01T00:00Z.
Мы предупреждаем о возможной потере данных. В
миг
объект способен перевозить микросекунд или наносекунд, лучше, чем МС. Что тоньше дробная часть секунды будет игнорироваться при получении количество миллисекунд.Об Ява.время
В [Ява.время] основы(http://docs.oracle.com/javase/10/docs/api/java/time/package-summary.html) построен в Java 8 и выше. Эти классы вытеснить хлопотно старый наследие Дата Время классы, такие как
Ява.утиль.Даты
,календарь
, &класса simpledateformat
. В Joda времени проекта, теперь в режиме техническое обслуживание, советует миграции Ява.время классы. Чтобы узнать больше, см. учебник по Oracle. Поиск переполнения стека для многих примеров и объяснений. Спецификация в JSR 310. Вы можете обменять Ява.время объекты непосредственно с вашей базой данных. Использовать [драйвера] совместимый(https://en.wikipedia.org/wiki/jdbc_driver) с с JDBC 4.2 или позже. Нет необходимости для строк, нет необходимости вЯва.для SQL.*
классов. Где получить Ява.классы время?Для более ранних версий Андроид (<26), В [ThreeTenABP] проект(https://github.com/JakeWharton/ThreeTenABP) адаптация ThreeTen-бэкпортировать (упоминалось выше). Смотрите как использовать ThreeTenABP.... В ThreeTen-Экстра проект расширяется Java.время дополнительных занятий. Этот проект является полигоном для возможных будущих дополнений к Java.время. Вы можете найти некоторые полезные классы, такие как
интервал
,YearWeek
,YearQuarter
, и подробнее.Joda Времени
Обновление: в Joda времени проект сейчас находится в режиме техническое обслуживание, с командой, консультирование миграции в Ява.время классы. Я оставлю этот раздел нетронутыми для истории. Ниже находится такой же код, но с использованием Joda времени Библиотека 2.5 и обработки часовом поясе. На Java.утиль.Дата, .Календарь, а также .Класса simpledateformat классы, как известно, хлопотное, запутанное, и недостатки. Избегать их. Использовать Joda времени или Java.пакет времени (вдохновленный Joda времени), встроенные в Java 8.
ИСО 8601
Ваши строки почти в формате ISO 8601. Слеши должны быть дефисы и пространство в середине должна быть заменена на "Т". Если мы вносим, то результирующая строка может быть подана непосредственно в конструктор не удосужившись указать праматерии. Joda времени использует ISO 8701 форматов, как это'по умолчанию для разбора и генерации строк. Пример Кода #
В класса simpledateformat класс позволяет обработать строку в Ява.утиль.Даты
объекта. Если у вас есть объект Date, вы можете получить миллисекунд с начала эпохи, называя дату.gettime () так
.Полный пример:
Обратите внимание, что это дает вам "длинные" и не двойные, но я думаю, что's наверное вы этого хотели. В документации для класса simpledateformat класс имеет тонны информации о том, как настроить его для разбора различных форматов.
В 2017 ответ: использовать дату и время занятий, представленный в Java 8 (а также бэкпортированы в Java 6 и 7 в портировать ThreeTen).
Если вы хотите интерпретировать даты и времени строки в зоне компьютера:
Если другой часовой пояс, заполнить эту зону в Вместо
ZoneId.systemDefault()
. Если мирового, использовать