2016-04-19 8 views
2

Google Protokollpuffer (3.0.0-Beta2) bietet die well-known type Timestamp.Wie initialisiert man Google-Protokollpuffer Timestamp in Java?

Die Dokumentation beschreibt die Initialisierung in JavaSystem.currentTimeMillis() verwendet, wie folgend:

long millis = System.currentTimeMillis(); 
Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis/1000) 
    .setNanos((int) ((millis % 1000) * 1000000)).build(); 

Gibt es eine alternative Art und Weise in der jüngsten Java 8?

Antwort

5

Beginnend mit Java 8, gibt es den neuen Datum/Zeit-API die java.time.Instant

Instant time = Instant.now(); 
Timestamp timestamp = Timestamp.newBuilder().setSeconds(time.getEpochSecond()) 
    .setNanos(time.getNano()).build(); 

Das Ergebnis mit diesem attraktiver für den Leser macht soll die gleiche bezüglich Präzision sein.

Verwandte Themen