How do I parse RFC 3339 datetimes with Java?

I'm trying to parse the date returned as a value from the HTML5 datetime input field. Try it in Opera to see an example. The date returned looks like this: 2011-05-03T11:58:01Z.

I'd like to parse that into a Java Date or Calendar Object.

Ideally a solution should have the following things:

  • No external libraries (jars)
  • Handles all acceptable RFC 3339 formats
  • A String should be able to be easily validated to see if it is a valid RFC 3339 date
25
задан Adam 17 May 2011 в 23:02
поделиться

1 ответ

С форматом у вас есть, например. 2011-05-03T11: 58: 01Z, ниже код подойдет. Тем не менее, я недавно пробовал html5 datetime в Chrome и Opera, и это дает мне 2011-05-03T11: 58Z -> нет части ss, которая не может быть обработана с помощью кода ниже.

new Timestamp(javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(date).toGregorianCalendar().getTimeInMillis());
2
ответ дан 28 November 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: