文字列から日付を抽出して日付に変換する関数を開発しています。 MMMは月3桁の名ですべて小文字AndroidのDateFormat:解析不能な日付
dd-mmm-yyyy
: 日付は、次の形式を持っています。
コードの一部は以下の通りです:
if(queryLine.contains("Expiration Date:")){
String expString = queryLine.replace("Expiration Date:", "").trim();
DateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
try {
log.info("Exp: " + queryLine.replace("Expiration Date:", "").trim());
expDate = df.parse(expString);
} catch (ParseException e) {
e.printStackTrace();
}
私はコンピュータのJVM上でそのコードをしようとすると、それが正常に動作し、それが問題なく日付を変換しますが、私は私が持っているAndroid上でそれを実行しようとした場合次のエラー:
java.text.ParseException: Unparseable date: "14-sep-2020"
at org.whoislibrary.servers.WhoisCom.parseResponse(WhoisCom.java:39)
at java.text.DateFormat.parse(DateFormat.java:626)
at org.whoislibrary.WhoisAbstract.executeQuery(WhoisAbstract.java:47)
at org.whoislibrary.WhoisCommand.executeQuery(WhoisCommand.java:72)
at org.HttpTest.HttpTestActivity.onCreate(HttpTestActivity.java:35)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3647)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
ご存じですか?
あなたは、Android上でどのようなロケールを使用していますか? –
月を小文字にしないとどうなりますか?すなわち、 '2014年9月14日 'の入力としてNPEを取得していますか? – tomtheguvnor
ロケールはイタリアに設定されています。 – Ivan