Avatar ·

Como obter a data e hora atuais no formato AAAA-MM-DD HH:MM:SS.milissegundos em Java?

Olá a todos! Sou novo em Java e estou escrevendo um pequeno aplicativo para logging de eventos. Preciso gravar em arquivo a hora atual com precisão de milissegundos no formato: `2023-11-15 14:30:25.123`. Tentei usar `java.util.Date` e `SimpleDateFormat`, mas algo está dando errado.\n\nAqui está meu código:\n\n```java\nimport java.util.Date;\nimport java.text.SimpleDateFormat;\n\npublic class Main {\n public static void main(String[] args) {\n Date now = new Date();\n SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MI:SS.mmm");\n String formattedDate = sdf.format(now);\n System.out.println(formattedDate);\n }\n}\n```\n\nNa saída, estou recebendo algo estranho: `2023-11-335 14:09:25.025`. De onde vem o `335` em vez do dia do mês? E por que os minutos aparecem como `MI`, e