Как убить экземпляр WebDriver, оставив браузер открытым

tl; dr
LocalDateTime.parse(
    "May 23 2011 12:20:00" , 
    DateTimeFormatter.ofPattern( "MMM d uuuu HH:mm:ss" , Locale.US )
)

Использование java.time

Принимаемый ответ Андреаса Крюгера верен. Вы должны указать Locale, чтобы определить человеческий язык, используемый при переводе названия месяца.

Современный подход позволяет избежать проблемных старых классов времени и времени, вместо того чтобы использовать их замены, классы java.time.

String input = "May 23 2011 12:20:00" ;

Определите шаблон форматирования для соответствия входу с помощью класса DateTimeFormatter .

Locale определяет (a) человеческий язык для перевода имени дня, названия месяца и т. д. и (б) культурных норм, решающих вопросы сокращения, капитализации, пунктуации, разделителей и т. д.

Locale locale = Locale.US ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MMM d uuuu HH:mm:ss" , locale );

Ваш ввод отсутствует индикация часового пояса или смещение-от-UTC. Итак, мы анализируем как LocalDateTime.

LocalDateTime ldt = LocalDateTime.parse( input , f ) ;

ldt.toString (): 2011-05-23T12: 20: 00


О java.time

Рамка java.time встроена в Java 8 и более поздних версий. Эти классы вытесняют неприятные старые классы времени legacy , такие как java.util.Date , Calendar и & amp; SimpleDateFormat .

Проект Joda-Time , теперь в режиме обслуживания , советует перейти на java.time .

Чтобы узнать больше, см. учебное пособие Oracle . И поиск Stack Overflow для многих примеров и объяснений. Спецификация JSR 310 .

Где получить классы java.time?

Проект ThreeTen-Extra расширяет java.time с дополнительными классами. Этот проект является доказательством возможных будущих дополнений к java.time. Здесь вы можете найти некоторые полезные классы, такие как Interval , YearWeek , YearQuarter и more .

-2
задан DebanjanB 18 January 2019 в 14:12
поделиться