Вы можете в основном расширить шаблон String
, который вы используете, он в настоящее время (и, очевидно) форматирует только единицы времени до секунд (HH:mm:ss
⇒ часов, минут и секунд).
Сделайте это "yyyyMMdd|HH:mm:ss.SSS"
, чтобы иметь долю секунды,
public static void main(String[] args) {
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyyMMdd|HH:mm:ss.SSS");
String formattedString1 = ZonedDateTime.now().format(formatter1);
System.out.println(formattedString1);
}
, это выведет String
в следующей форме:
20200807|10:57:17.547
Если вам нужны миллисекунды дня ( в любом случае), вы можете использовать один A
вместо этих трех S
.
Взгляните на JavaDocs java.time.DateTimeFormatter
для шаблонных букв и их значений.
Вот небольшой отрывок:
...
H hour-of-day (0-23) number 0
m minute-of-hour number 30
s second-of-minute number 55
S fraction-of-second fraction 978
A milli-of-day number 1234
n nano-of-second number 987654321
N nano-of-day number 1234000000
...