Java/Groovy – einfache Neuformatierung des Datums

Lesezeit: 2 Minuten

Ich bin neu in der Java/Groovy-Entwicklung und habe eine einfache Zeichenfolge, die ich neu formatieren möchte, aber ich erhalte die Fehlermeldung „Unparseable date“, wenn ich versuche, Folgendes auszuführen:

import java.text.SimpleDateFormat 
import java.util.Date

String oldDate
Date date
String newDate 

oldDate="04-DEC-2012"
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldDate)
newDate = new SimpleDateFormat("M-d-yyyy").format(date) 

println newDate

Ich bin sicher, es ist etwas Einfaches, aber die Lösung entzieht sich mir. Kann jemand helfen?

  • Ihr Datum wird im Muster “TT-MMM-JJJJ” angegeben, und Sie versuchen, etwas anderes zu analysieren …

    – posdef

    17. Januar 2013 um 16:21 Uhr


  • duplizieren Sie stackoverflow.com/questions/11135675/unparseable-date-30-jun-12

    – CAMOBAP

    17. Januar 2013 um 16:22 Uhr


  • Da ich Grrovy für neue Leser nicht kenne, empfehle ich Ihnen dringend, diese Frage nicht zu verwenden SimpleDateFormat und Date. Diese Klassen sind schlecht gestaltet und längst veraltet, wobei erstere besonders notorisch lästig sind. Verwenden Sie stattdessen LocalDate, DateTimeFormatterBuilder und DateTimeFormatteralle von java.time, die moderne Java-API für Datum und Uhrzeit. Siehe diese Antwort von user7605325.

    – Ole VV

    16. Mai um 17:13 Uhr

Mit Groovy brauchen Sie die Includes nicht und können einfach Folgendes tun:

String oldDate="04-DEC-2012"
Date date = Date.parse( 'dd-MMM-yyyy', oldDate )
String newDate = date.format( 'M-d-yyyy' )

println newDate

Zu drucken:

12-4-2012

Dein DateFormat Muster stimmt nicht mit Ihrem Eingabedatum überein String. Du könntest benutzen

new SimpleDateFormat("dd-MMM-yyyy")

oldDate ist nicht im Format der SimpleDateFormat Sie verwenden, um es zu analysieren.

Versuchen Sie dieses Format: dd-MMM-yyyy – Es stimmt mit dem überein, was Sie zu analysieren versuchen.

Benutzeravatar von Ediney Andrade
Edine Andrade

//Groovy Script

import java.util.Date   
import java.util.TimeZone   
tz = TimeZone.getTimeZone("America/Sao_Paulo")   
def date = new Date()   
def dt = date.format("yyyy-MM-dd HH:mm:ss", timezone=tz)   
println dt //formatado   
println date // formatado porém, horario do Sistema em GMT.

1431020cookie-checkJava/Groovy – einfache Neuformatierung des Datums

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy