2016-06-14 2 views
0

В чем факторы, по которым синтаксический анализ даты не обрабатывается правильно?Дата не разглашения месяца

У меня есть этот очень простой код:

DateFormat format = new SimpleDateFormat("DD/MM/yyyy", Locale.FRENCH); 
    Date date = format.parse(dateInterv); 

dateInterv является String со значением «14/06/2016», и когда я разобрать дату, date в январе. Даже в отладчике я не понимаю, почему он 14/06/2016 превращается в 14/01/2016.

+0

вы пытались не использовать локаль? 'DateFormat format = new SimpleDateFormat (« DD/MM/yyyy »); ' –

ответ

2

Ваша строка должна быть:

DateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.FRENCH); 
    Date date = format.parse(dateInterv); 

потому dd для дня месяца и DD для дня

года
+1

правильный формат' dd/MM/yyyy' на самом деле 'mm' is minutes –

+0

wow, это было так немодно от меня ... Ну спасибо – RiddlerNewComer

+0

@ Vlad .... была просто ошибкой типографии, извините ... – Opiatefuchs

0

Вы можете следить за любым из следующего формата от SimpleDateFormat.

SimpleDateFormat format = new SimpleDateFormat(); 
    Date curDate = new Date(); 

    format = new SimpleDateFormat("yyyy/MM/dd"); 
    DateToStr = format.format(curDate); 
    System.out.println(DateToStr); 

    format = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); 
    DateToStr = format.format(curDate); 
    System.out.println(DateToStr); 

    format = new SimpleDateFormat("dd MMMM yyyy zzzz", Locale.ENGLISH); 
    DateToStr = format.format(curDate); 
    System.out.println(DateToStr); 

    format = new SimpleDateFormat("MMMM dd HH:mm:ss zzzz yyyy", 
      Locale.ITALIAN); 
    DateToStr = format.format(curDate); 
    System.out.println(DateToStr); 

    format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z"); 
    DateToStr = format.format(curDate); 
    System.out.println(DateToStr); 
0

Я думаю, что вы могли бы хотеть изменить его к этому:

SimpleDateFormat formatter =new SimpleDateFormat("dd/MM/yyyy", Locale.French); 
    Date date = formatter.parse(dateInterv); 
    String formattedDate = formatter.format(date); 
Смежные вопросы