SimpleDateFormatter n'analysera pas!
-
02-10-2019 - |
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!
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).