Frage

Hallo Ich versuche, die SimpleDateFormatter zu verwenden, um das Datum Wed, 30 Jun 2010 15:07:06 CST

zu analysieren

Ich verwende den folgenden Code

public static SimpleDateFormat postedformat = 
    new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
Date newDate = new Date(posteformat.parse("Wed, 30 Jun 2010 15:07:06 CST"));

, aber ich bin immer ein Illegal. Bitte Hilfe!

War es hilfreich?

Lösung

postedformat.parse() gibt einen Date, und es gibt keinen Date(Date) Konstruktor.

Vermutlich um den Anruf zu new Date entfernen, so dass Sie Date newDate = poste.... sagen genügt

Andere Tipps

Ihr Codefragment nicht kompiliert. Diese leichte Modifikation compiliert und Parsen erfolgreich:

public static void main(String[] args) throws ParseException {
    SimpleDateFormat postedformat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
    Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
    System.out.println("newDate = " + newDate);
}

Dies wird mit Hilfe von Java 6 auf Mac OS X.

Es gibt keinen java.util.Date() Konstruktor, der ein java.util.Date als Argument

nimmt
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormat {
    public static SimpleDateFormat postedformat = 
        new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
    public static void main(String[] args) {
        try {
            Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
            System.out.println("Date: " + newDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Ausgänge:

Date: Wed Jun 30 22:07:06 BST 2010

Die javadoc Beispiele zeigen unescaped Komma aber für die US-locale. Also entweder versuchen, das Komma zu entkommen (als Aaron vorgeschlagen) oder den anderen Konstruktor verwenden und das Gebietsschema:

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);

Ein weiteres Problem könnte sein, die Zeitzone ( ‚CST‘), die auf die auf der Hand und mehrdeutige auf der anderen Seite ist veraltet (per javadoc von java.util.TimeZone). Test, wenn es ohne die Zeitzone Attribut funktioniert (sowohl in dem Format-String und der Wert).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top