سؤال

أقوم بتحليل موعد بالتنسيق EEE, dd MMM yyyy HH:mm:ss Z. إحدى قيم العينة Thu, 02 Sep 2010 04:03:10 -0700.

هذا هو رمز التحليل:

SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
Date date = FORMATTER.parse(dateString);

هذا يعمل بشكل جيد تمامًا إذا كانت لغة الهاتف هي الإنجليزية ولكنها ترمي parserexception عندما يتم تغيير اللغة إلى "فرنسا" أو "إيطالية". لقد جربت هذا:

SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.getDefault());

أو للمكان الفرنسي أكثر وضوحا:

SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.French);

لكن لا حظ ... هل يمكن لأحد أن يخبرني بما أفعله خطأ؟

هل كانت مفيدة؟

المحلول

نظرًا لأن "الخميس" باللغة الإنجليزية ، فأنت تريد استخدامها Locale.ENGLISH لتحليلها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top