Как конвертировать 12/31/2008 3: 28P Использование SimpleDateFormathat

StackOverflow https://stackoverflow.com/questions/3160247

  •  01-10-2019
  •  | 
  •  

Вопрос

Я использую инструмент на основе Java, и есть вариант конфигурации для DateFormat, который я установил на «MM / DD / YY HH: MMA», но это, очевидно, ожидается «AM» или «PM», а не «а» или « P 'Потому что входные даты не распознаются. например, 12/31/2008 3: 28p

Существует ли такая спецификация SimpleDateFormat для этого конкретного формата? (Предположение с моей стороны, что этот метод Java используется.) Я попрошу поставщику инструмента Далее, но так, кажется, «место для поезда!

TIA

Это было полезно?

Решение

Это не тот ответ, который вы хотите услышать, но я боюсь, если вам разрешено только входить в DateFormat, есть ничего особенного, если вы не можете с этим поделать, если вы не сможете каким-то образом добавить «M». На основе примера в Javadoc для SimpleDateFormat., один «A» принимает либо у AM или PM.

Другие советы

ты можешь это сделать

public static void main(String[] args) throws ParseException {
    DateFormatSymbols instance = DateFormatSymbols.getInstance();
    instance.setAmPmStrings(new String[]{"a","p"});
    SimpleDateFormat format = new SimpleDateFormat("MM/dd/yy hh:mma",instance);
    Date parsedDate = format.parse("12/31/2008 3:28p");
    System.out.println(parsedDate);

}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top