Дополнительно
Как получить текущее время в формате YYYY-MM-DD HH:MI:Sec.Millisecond в Java?
Приведенный ниже код выдает мне текущее время. Но он ничего не говорит о миллисекундах.
public static String getCurrentTimeStamp() {
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//dd/MM/yyyy
Date now = new Date();
String strDate = sdfDate.format(now);
return strDate;
}
Я получаю дату в формате 2009-09-22 16:47:08
(YYYY-MM-DD HH:MI:Sec).
Но я хочу получить текущее время в формате 2009-09-22 16:47:08.128
((YYYY-MM-DD HH:MI:Sec.Ms)- где 128 означает миллисекунду.
SimpleTextFormat
будет работать нормально. Здесь наименьшей единицей времени является секунда, но как мне получить и миллисекунду?
596
13
Java в один лайнер
в стиле JDK8
Вам нужно только добавить поле миллисекунд в строку формата даты:
В API doc SimpleDateFormat подробно описана строка формата.
попробуйте это: -
http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
или
многабукаф.
и Java.время
В Java 8 и выше, у нас есть [Ява.время] рамки(http://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html), встроенные в Java 8 и выше. Эти новые классы вытеснить хлопотно старых Java.утиль.Дата/.Календарь классов. Новые классы вдохновляют весьма успешной Joda времени платформа, предназначена как своего преемника, сходных по концепции, но перестроенные. Определены в JSR 310. Продлен [ThreeTen-Экстра](проект http://www.threeten.org/threeten-extra/). Смотрите учебник.
Помните, что Java.время способно НС разрешение (9 разрядов после запятой в доли секунды), по сравнению с МС разрешение (3 знака после запятой), как в Java.утиль.Даты & Joda времени. Поэтому, когда форматирование для отображения только 3 знака после запятой, вы могли скрываться сведения.
Если вы хотите избавиться от любого микросекундах или наносекундах от ваших данных, усечь.
На Java.время использовать классы [стандарт ISO 8601] формат3 по умолчанию для разбора/генерации строк. А
я
в конце-это сокращение от "Зулу", и означает мирового.В
миг
представляет собой момент на шкале времени UTC с разрешением до НС. Фиксация текущего момента в Java 8 ограничивается МС, С новая реализация в Java 9 захвата до наносекунд в зависимости от возможностей аппаратного обеспечения Вашего компьютера часы.Заменить " Т " в середине с места, и
З
С ничего, чтобы получить желаемый результат.Как вы Don'т волнует, включая смещение или часовом поясе, сделать а "местные" по-дата-время не связаны с какой-либо конкретной местности.
Joda Времени
Весьма успешный Joda времени библиотека была источником вдохновения для Java.временные рамки. Желательно перейти на Java.время, когда удобно.
В [ИСО 8601] формат3 включает в себя миллисекунды, и используется по умолчанию для Joda времени 2.4 библиотека.
При запуске...
в
Кроме того, вы можете задать на доли-секунды миллисекунды в виде числа, если необходимо:
Самый простой способ (до Java 8) использовать,
Но класса simpledateformat не является потокобезопасным. Ни Ява.утиль.Дата. Это приведет к тому, что приводит к потенциальным проблемам параллелизма для пользователей. И есть много проблем в существующих конструкциях. Чтобы преодолеть эти в Java 8 у нас есть отдельный пакет под названием Ява.время. Это Java на SE 8 дата и время документ имеет хорошее представление о нем.
Так что в Java 8 что-то вроде ниже будет делать трюк (в формате текущая дата/время),
И одна вещь, чтобы отметить, он был разработан с помощью популярных сторонних библиотек Joda времени,
Но теперь Joda времени становится устаревшим и просил пользователи перешли на новую
Ява.время
. и GT;заметьте, что из Java SE с 8-го, пользователям предлагается перейти на Java.время (в JSR-310) - основной частью JDK, который заменяет этот проектВ любом случае, сказав,что
Если у вас есть календарь экземпляр можно использовать НИЖЕ, чтобы преобразовать его в новое
Ява.время
,Если у вас свидание объект,
Если вы просто эпоха миллисекунд,
Я хотел бы использовать что-то вроде этого:
В дополнение к выше ответы, вот небольшой рабочий пример программы, которая выводит текущее время и дату, в том числе миллисекунд.
</код>
Используйте это, чтобы получить ваш текущее время в указанном формате :
Я не'т видите ссылку на это:
выше также полезно.
http://www.java2s.com/Tutorials/Java/Date/Date_Format/Format_date_in_yyyyMMddHHmmssSSS_format_in_Java.htm
Ответ:
Datetimeformatter с dateFormatter = datetimeformatter с.ofPattern (на"гггг-ММ-ДД чч:мм:СС.СНО" - а); ZonedDateTime пуск = немедленный.сейчас().atZone(ZoneId.systemDefault()); Строки startTimestamp = начало.формат(dateFormatter);
Доктор в Java 8 это названия фракция-часть вторая , в то время как в Java 6 была названа МС. Это привело меня в замешательство
Вы можете просто получить его в формат, который вы хотите.