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. mongodb3.6の新しいURLを使用してgolangから接続する方法

    2. 予期しないmongo終了コード100。再起動

    3. gopkg.in/mgo.v2の同時実行性(Mongo、Go)

    4. キーの半分を削除しても、Redisのメモリ使用量が減らないのはなぜですか