Zeiteinheit auf ganze Zahl runder runden

Fohnbit

Top Contributor
Hallo!

Ich möchte die Systemzeit in Millisekunden zu vollen Stunden, Tage, und Jahre herunterrechnen.
Ich vermute ich habe das einen Gedankenfehler mit der Zeitzone?

Beispiel:
Java:
long test = System.currentTimeMillis();
        System.out.println(test);
        test = TimeTools.getStartValueFromUnit(EnumTimeSpans.Day.getNumVal(),
                test);
        System.out.println(test);

    public static long getOffset(long interval, long referenzTimestamp) {
        long sysTime = referenzTimestamp + TimeZone.getDefault().getRawOffset();
        // long sysTime = referenzTimestamp;
        long delay = interval - sysTime % interval;
        return delay;
    }

    public static long getStartValueFromUnit(long interval, long referenzTimestamp) {
        return referenzTimestamp + getOffset(interval, referenzTimestamp)
                - interval;
    }

Ausgabe:
1436360209674
1436310000000

Ich prüfe hier den Wert (http://www.ruddwire.com/handy-code/date-to-millisecond-calculators/)
1436360209674
Das paßt. Ist das Datum zu meiner Zeitzone:
Wed Jul 08 2015 14:56:49 GMT+0200

Ich möchte daraus:
Wed Jul 08 2015 00:00:00 GMT+0200
aber mein errechneter Wert:
1436310000000
ergibt:
Wed Jul 08 2015 01:00:00 GMT+0200

Ich denk das " TimeZone.getDefault().getRawOffset()" mir hier die Stunde aufschlägt?
Lass ich das weg, ist es genau um die Zeitzone (+2:00) um.

Wie muss ich also die Millisekunden niederschreiben? Schon mit der Zeitzone abgezogen?

Die Zeit soll in eine DB kommen (in Millisekunden).

Danke!
 

Fohnbit

Top Contributor
Damit scheint es nun zu passen:
Java:
    long millis = System.currentTimeMillis();
     millis = TimeTools.getStartOfDate(EnumTimeSpans.Day, millis);
     System.out.println("Start: " + millis);
     millis = TimeTools.getEndOfDate(EnumTimeSpans.Day, millis);
     System.out.println("End: " + millis);

public static long getStartOfDate(EnumTimeSpans interval,
       long referenzTimestamp) {

     Calendar cl = Calendar.getInstance();
     cl.setTimeInMillis(referenzTimestamp);

     switch (interval) {
     case Quarter:
       int minute = cl.get(Calendar.MINUTE) - cl.get(Calendar.MINUTE) % 15;
       cl.set(Calendar.MINUTE, minute);
       cl.set(Calendar.SECOND, 0);
       cl.set(Calendar.MILLISECOND, 0);
       break;
     case Hour:
       cl.set(Calendar.MINUTE, 0);
       cl.set(Calendar.SECOND, 0);
       cl.set(Calendar.MILLISECOND, 0);
       break;
     case Day:
       cl.set(Calendar.AM_PM, 0);
       cl.set(Calendar.HOUR, 0);
       cl.set(Calendar.MINUTE, 0);
       cl.set(Calendar.SECOND, 0);
       cl.set(Calendar.MILLISECOND, 0);
       break;
     case Year:
       cl.set(Calendar.DATE, 1);
       cl.set(Calendar.AM_PM, 0);
       cl.set(Calendar.HOUR, 0);
       cl.set(Calendar.MINUTE, 0);
       cl.set(Calendar.SECOND, 0);
       cl.set(Calendar.MILLISECOND, 0);
       break;

     }
     return cl.getTimeInMillis();
   }

   public static long getEndOfDate(EnumTimeSpans interval,
       long referenzTimestamp) {

     return getStartOfDate(interval, referenzTimestamp)
         + interval.getNumVal()-1;

   }[/JAVA]
 

MWin123

Bekanntes Mitglied
Mit der java.time API geht das mit truncatedTo() in einer Zeile.

Zum Beispiel so:
Java:
import java.time.ZonedDateTime;
import java.time.temporal.ChronoUnit;

public class Test {
    public static void main(String[] args) {
        ZonedDateTime timePoint = ZonedDateTime.now();
        ZonedDateTime timePointTruncated = timePoint.truncatedTo(ChronoUnit.DAYS);

        System.out.println(timePoint.toInstant().toEpochMilli());
        System.out.println(timePointTruncated.toInstant().toEpochMilli());
    }
}

Ausgabe:
1436368109794
1436306400000

Entspricht:
Wed Jul 08 2015 17:08:29 GMT+0200 (Mitteleuropäische Sommerzeit)
Wed Jul 08 2015 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
X Nach einem Bruch testen ob es eine ganze Zahl ist Java Basics - Anfänger-Themen 6
B Eine ganze Zahl zerlegen. Java Basics - Anfänger-Themen 4
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
D Javadoc für Packages oder ganze Projekte Java Basics - Anfänger-Themen 5
J Variablen Variablen fürs ganze Projekt festlegen Java Basics - Anfänger-Themen 16
B zeichenkette in ganze zahlen Java Basics - Anfänger-Themen 2
Haubitze_Broese Potenz einer Zahl, der Exponent ist dabei eine beliebige ganze Zahl? Java Basics - Anfänger-Themen 10
D Beim Schließen eines Dialogs die Ganze Anwendung schließen ? Java Basics - Anfänger-Themen 7
D Eine ganze Textdatei in einer jTextArea anzeigen Java Basics - Anfänger-Themen 4
K Literale: Ganze Zahlen Java Basics - Anfänger-Themen 2
E Ganze Ordner und Dateien kopieren Java Basics - Anfänger-Themen 2
A Zwei ganze Zahlen mit einer Methode zurückgeben Java Basics - Anfänger-Themen 8
R Exceptions für's ganze Package Java Basics - Anfänger-Themen 9
K [Java] Zufallszahl als ganze Zahl Java Basics - Anfänger-Themen 5
G Eine ganze Zeile von der Tastatur einlesen! Java Basics - Anfänger-Themen 2
C Wie erhalte ich nur ganze Zahlen als Ergebnis einer Division Java Basics - Anfänger-Themen 4
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
M zahl raten Java Basics - Anfänger-Themen 1
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
I Zahl aufrunden (Zeit) Java Basics - Anfänger-Themen 43
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
R Fortlaufende Zahl Java Basics - Anfänger-Themen 3
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
HelpInneed Zahl. Java Basics - Anfänger-Themen 2
R Perfekte Zahl Java Basics - Anfänger-Themen 8
D Mittlerste Zahl Java Basics - Anfänger-Themen 17
D Grösste Zahl in einer Folge herausfinden. (ULAM) Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
J Verdoppeln einer Zahl (in dem Fall Münzen) Java Basics - Anfänger-Themen 4
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
K Wie kontrolliere ich ob ich die Zahl in meinem Array schon hab? Java Basics - Anfänger-Themen 9
T Zahl in Array ersetzen Java Basics - Anfänger-Themen 2
Abraham42 Prozentsatz einer Zahl mehrmals Java Basics - Anfänger-Themen 2
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
V Beliebige Dreistellige Zahl Teiler finden Java Basics - Anfänger-Themen 4
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
S Zahl eingeben Java Basics - Anfänger-Themen 8
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
V Array auf eine Zahl durchsuchen Java Basics - Anfänger-Themen 15
L Erhöhung der Zahl Java Basics - Anfänger-Themen 3
F Negative Zahl erzwingen Java Basics - Anfänger-Themen 3
N Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben Java Basics - Anfänger-Themen 23
T Eulersche Zahl e Java Basics - Anfänger-Themen 5
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
I Wie viele 1 an Bits hat die Zahl x? Java Basics - Anfänger-Themen 5
A Gewürfelte Zahl ausgeben Java Basics - Anfänger-Themen 10
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
A Überprüfen, ober eine Zahl Ziffer enthält Java Basics - Anfänger-Themen 12
O Markoff-Zahl Java Basics - Anfänger-Themen 22
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
L 10-Stellige Zahl hochzählen lassen Java Basics - Anfänger-Themen 1
H String und Zahl Java Basics - Anfänger-Themen 10
R Zahl 1 bis 100 erraten Java Basics - Anfänger-Themen 12
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
J Für jeden Buchstaben eine Zahl Java Basics - Anfänger-Themen 1
H Würfelspiel, stop bei gleicher Zahl Java Basics - Anfänger-Themen 4
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben