MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Анализирайте ISO8601 низ от дата към дата с UTC часова зона

Ако използвате Java 7 или по-стара версия, можете да се обърнете към тази публикация.

Ако използвате Java 8, можете да направите:

    DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
    TemporalAccessor accessor = timeFormatter.parse("2015-10-27T16:22:27.605-07:00");

    Date date = Date.from(Instant.from(accessor));
    System.out.println(date);

Актуализиране

Както бе посочено от @BasilBourque в коментара, TemporalAccessor е интерфейс на ниво java рамка и не е препоръчително да се използва в кода на приложението и е препоръчително да се използват конкретни класове, а не интерфейсите.

Този интерфейс е интерфейс на ниво рамка, който не трябва да се използва широко в кода на приложението. Вместо това приложенията трябва да създават и предават екземпляри от конкретни типове, като LocalDate. Има много причини за това, част от които е, че реализациите на този интерфейс може да са в календарни системи, различни от ISO. Вижте ChronoLocalDate за по-пълно обсъждане на проблемите.

Има няколко конкретни класа, които можете да използвате, като LocalDate, LocalDateTime, OffsetDateTime, ZonedDateTime и др.

DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;

OffsetDateTime offsetDateTime = OffsetDateTime.parse("2015-10-27T16:22:27.605-07:00", timeFormatter);

Date date = Date.from(Instant.from(offsetDateTime));
System.out.println(date);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB GPG – Невалидни подписи

  2. Вземане на сума от колона в MongoDB

  3. MongoDB отделно агрегиране

  4. Бързо пейджиране с MongoDB

  5. Обектът на колекцията не е извикваема грешка с PyMongo