2016-07-11 7 views
4

In Java 8 Instant.now() Methode zeigt falsche Zeit an. Mein Code sieht so aus:java 8 Instant.now() zeigt eine falsche Uhrzeit an

import java.time.*; 
import java.time.temporal.*; 
public class DateTimeDemo{ 
    public static void main(String []args){ 
      Instant now = Instant.now(); 
      System.out.println(now); 
     } 

    } 

Sein Datum Teil richtig, aber die Zeit Teil ist.

zB

2016-07-11T11: 01: 25.498Z aber in meinem System ist es 04.31

Ich bin mit Asien/Kalkutta Time-Zone

Antwort

27

Das ist die richtige Zeit. Beachten Sie das "Z" am Ende, das UTC - 11:01:25 in UTC anzeigt, ist 16:31:25 in Asien/Kalkutta.

Wenn Sie "jetzt" in Ihrer Standardzeitzone darstellen möchten, verwenden Sie stattdessen ZonedDateTime.now().

+5

Das 'Z' ist die Abkürzung für' Zulu', was [UTC] bedeutet (https://en.m.wikipedia.org/wiki/Coordinated_Universal_Time). –