Datentypen LocalDate.of() in LocalDate.of() (UTC)

mrvin

Mitglied
Hi,
folgende Probleme:

Code:
LocalDate localDate = LocalDate.of(1990, 1, 1);
resultObject.startpointInDaysSince = localDate.plusDays(dataInputStream.readInt());
readUnsignedInt wäre das was ich bräuchte habe aber nur readunsignedByte oder readUnsignedShort :(

Ich habe eine Datei die ausgelesen werden muss. 4 Bytes aber unsigned, im Moment sind sie signed.

1. Frage: Wie bekomme ich "readInt" in "readUnsignedInt"
2. Frage: Ich brauche die Zeit nicht in "Local" vom 1.1.1990 sondern in UTC - wie bekomme ich das hin?
Ich habe schon recherchiert aber nur Instant.now gefunden...

Code:
UnsignedInteger byteOffsetV1 = UnsignedInteger.fromIntBits(dataInputStreamV1.readInt());
            resultObjectV1.byteOffsetForTableDatasV1 = byteOffsetV1.bigIntegerValue();

Sowas habe ich schon verwendet für unsigned Integer, aber ich weiß nicht wie ich das mit "Local Date" bzw "UTC Date" verknüpfen kann.
Das Programm soll die Tage seit 1.1.1990 drauf rechnen bis heute.
Meine imports:
Code:
import com.google.common.io.LittleEndianDataInputStream;
import com.google.common.primitives.UnsignedInteger;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
wäre sehr sehr Dankbar wenn mir jemand helfen könnte,
vielen dank!:)
 
Zuletzt bearbeitet:

mrBrown

Super-Moderator
Mitarbeiter
Was genau hast du denn vor?


Zu 1: einen Unterschied zwischen unsigned und signed gibt es dabei erst ab 2.147.483.647. Sicher, dass du so viele Tage addieren können musst?

Zu 2: LocalDate ist nur ein Datum ohne eigene Zeitzonenangabe - ob du das als UTC behandelst, bleibt dir überlassen.
Wenn du eine explizite Zeitzone brauchst, musst du mit Zeiten arbeiten, zB Instant, ZonedDateTime oder OffsetDateTime.
 

Ähnliche Java Themen

Neue Themen


Oben