Onlinezeit von Clients bekommen [Java]

    • Offizieller Beitrag

    Hallo,

    wenn du die Client-Info eines Clients abfragst, enthält diese mehrere Werte. Einer davon ist lautet last_connected:

    Code
    clientinfo clid=23
    [...] last_connected=1538982902 [...]

    Das ist ein Unix-Timestamp, welcher mittels einer entsprechenden Funktion auch auf z.B. 08.10.2018 07:15 umgewandelt werden kann. Dieser Timestamp entspricht dem Zeitpunkt, wann der Client sich zuletzt verbunden hat.


    Du kannst die Onlinezeit dadurch wie folgt berechnen:

    Code
    Aktuelle Uhrzeit - Uhrzeit last_connected = Onlinezeit

    Sprich so:

    Code
    $online_time = time() - $client['last_connected'];

    Die $online_time beinhaltet nun die Zeitdifferenz in Sekunden, welche du wie gewünscht umwandeln kannst.


    Wie das ganze jedoch speziell unter Java aussieht, kann ich dir leider nicht sagen, da ich mit Java keine Erfahrung habe.

  • Danke.

    Ohne
    clientinfo und last_connected wäre ich nie drauf gekommen.

    Die Lösung ist:

    long time = Load.api.getClientInfo(clientId).getLastConnectedDate().getSeconds();

    long time2 = Load.api.getClientInfo(clientId).getTimeConnected();

    time2 = time2 / 1000;

    long time3 = time + time2;

    System.out.println("komplett sec : " +time3);

  • Kein Problem.

    Das einzige Problem ist halt , dass die Onlinezeit nicht permanent gespeichert wird.

    Das kann man aber mit etwas Grundwissen durch ein .txt Dokument und einer while(true) schleife behebe.