[LØST] JSP website - udregning af dato problemer

peque
Antal: 948
Tilmeldt:
20-04-2005
User is offline
[LØST] JSP website - udregning af dato problemer

Hej gruppe
Jeg er ved at programmere mig en lille VPN server - der skal overvåge nogle tjenester.
Da vi logger en masse data fra skibe mm - er det vigtigt at tiden er korrekt - Vi logger alt I UTC
Hele mit site er grundlæggende programmeret i JSP/html - Med en MySQL Database til.
I baggrunden har jeg så nogle scripts til at køre - bla at pinge forskellige hosts ud fra IP adresse.
hvis der er svar fra Ping er maskinen online - Hvis ikke er den offline. Jeg skriver tidspunktet for ændring imellem offline/online. Dette indsættes i en tabel - med det locale tidstempel indsat - i følgende format: 2018-11-01 08:05:12

Jeg har fået det hele til at spille omkring Online/offline - Men jeg ville gerne have en lille mellemtid.
Dvs jeg har en request til min database - hvor jeg får denne tid tilbage - Hvordan kan jeg få tjekket at dette tidstempel er skrevet for under 24timer siden!
Jeg får en variabel fra min request - kaldet o_time som er dette tidstempel.
Det er dette tidstempel som jeg gerne vil vide er over eller under 24timer gammelt.
hvordan kan jeg lave dette i JSP


ejvindh
Antal: 38
Tilmeldt:
17-05-2010
User is offline
Ok, jeg har ikke meget

Ok, jeg har ikke meget erfaring med JSP. Men kan du ikke bruge gettime, således at du undersøger om (pseudokode) (nu.gettime() - sidstSkrevet.gettime() < 86400000) ?


ejvindh
Antal: 38
Tilmeldt:
17-05-2010
User is offline
Lidt mere detaljeret (hvis

Lidt mere detaljeret (hvis o_time er en date):

Date nDate = new Date();
long nDiff = nDate.getTime();
long lastTimeDiff = o_time.getTime();
long milliSecSinceLastWrite = nDiff - lastTimeDiff;

peque
Antal: 948
Tilmeldt:
20-04-2005
User is offline
@ejvindh Godt nytår. Jamen

@ejvindh
Godt nytår.
Jamen mit reelle tidstempel er sat via et bashscript - der indsætter

DATE=`date "+%Y-%m-%d %H:%M:%S"`

Som datetime i MySQL.

Dette henter jeg via mit JSP og får den ind som "2019-01-04 14:30:01" som en variabel.
Inden jeg printer på min skærm vil jeg gerne lige tjekke om dette indsatte tidstempel er mere end 24timer gammelt - da vi har vores udtryk - Online - Disconnected - Offline (hvor Disconnected er hvis den er gået offline indenfor 24Timer)
Dette hentes via Resultset således:
String o_time= rs.getString(2);
Hvis den ikke er markeret som Online

Henter i starten følgende:
<%@ page import="java.time.*" %>
<%@ page import="java.util.Date" %>

if ( state.equals("X") )
{
online = "<td width='100' align='left'><img src='images/online.png' /></td>";
        status = "Online";
} else {
         Date nDate = new Date();
         long nDiff = nDate.getTime();
         long lastTimeDiff = o_time.getTime();
         long milliSecSinceLastWrite = nDiff - lastTimeDiff;
         if ( milliSecSinceLastWrite <= 86400000 );
          {
                 online = "<td width='100' align='left'><img src='images/yellow.png' /></td>";
                 status = "Disconnected";
           } else {
                  online = "<td width='100' align='left'><img src='images/offline.png' /></td>";
                  status = "Offline";
            }
}

Men det giver mig følgende fejl:
cannot find symbol long lastTimeDiff = o_time.getTime(); ^ symbol: method getTime() location: variable o_time of type String 1 error
Og mit bud er fordi den via et resultset henter en String... - Men har bare prøvet at konvertere den men rammer samme mur igen


ejvindh
Antal: 38
Tilmeldt:
17-05-2010
User is offline
Ja, det er fordi din o_time

Ja, det er fordi din o_time er en string og ikke en date. Nu begynder jeg allerede at støde hovedet lidt mod min manglende erfaring med JSP. En måde kunne jo være at trække integers ud af strengen vha substring og parseint, og så lave en date ud af elementerne, som du kunne køre gettime på.

Men jeg kan se, at der også findes andre muligheder, du kan studere:
http://www.java2s.com/Code/Java/Database-SQL-JDBC/...


peque
Antal: 948
Tilmeldt:
20-04-2005
User is offline
£ Ejvindh -- Jamen fedt -

£ Ejvindh -- Jamen fedt - det var lige det sidste der skulle til for at det fungerede.
havde nu ellers googlet meget omkring dette - men ikke fundet denne løsning som endte med at være den rigtige


ejvindh
Antal: 38
Tilmeldt:
17-05-2010
User is offline
Godt at du fik det til at

Godt at du fik det til at virke :)