Thu, 13 Jul 2017 18:00:15 + 0900
En Java, voulez-vous convertir une chaîne de caractères de ce format en type Date?
Comme ça
public class Main {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
System.out.println(sdf.parse("Thu, 13 Jul 2017 18:00:15 +0900"));
}
}
Cela peut être réalisé en utilisant la méthode parse de SimpleDateFormat ... J'ai écrit dans divers articles, mais quand je l'exécute réellement
Exception in thread "main" java.text.ParseException: Unparseable date: "Thu, 13 Jul 2017 18:00:15 +0900"
at java.text.DateFormat.parse(DateFormat.java:366)
at Main.main(Main.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Une exception comme celle-ci se produira.
Alors réécrivez-le comme ça.
public class Main {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
System.out.println(sdf.parse("Thu, 13 Jul 2017 18:00:15 +0900"));
}
}
Sur la troisième ligne, Locale est passé comme deuxième argument du constructeur SimpleDateFormat.
Cela vous donnera la sortie Thu Jul 13 18:00:15 JST 2017
.
J'ai mentionné la cause dans cet article, donc si vous êtes intéressé, jetez un œil.
Vérifier quand moss avec SimpleDateFormat parse # 60 --Yurufuwa Technical Diary
Recommended Posts