Question

Bonjour, je suis en train d'utiliser le SimpleDateFormatter pour analyser la date Wed, 30 Jun 2010 15:07:06 CST

Je suis en utilisant le code suivant

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"));

mais je reçois un IllegalArgumentException. S'il vous plaît aider!

Était-ce utile?

La solution

postedformat.parse() retourne un Date, et il n'y a pas de constructeur de Date(Date).

On peut supposer que la suppression de l'appel à new Date, vous dites Date newDate = poste.... SUFFIT

Autres conseils

Votre fragment de code ne compile pas. Cette légère modification compiles et Parsis avec succès:

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);
}

utilise Java 6 sous Mac OS X.

Il n'y a pas de constructeur de java.util.Date() qui prend java.util.Date comme argument

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();
        }
    }
}

Sorties:

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

Les exemples javadoc montre unescape virgule mais pour les paramètres régionaux des États-Unis. Donc, essayez soit échapper à la virgule (comme Aaron suggéré) ou utiliser l'autre constructeur et définissez les paramètres régionaux:

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

Un autre problème pourrait être le fuseau horaire ( « CST ») qui est dépréciée sur la main et sur l'autre mal assurés (selon javadoc de java.util.TimeZone). Test, si elle fonctionne sans l'attribut de fuseau horaire (tant dans le format chaîne et la valeur).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top