• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af peque | 04.01.2019 07:48

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

Hjælp generelt
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


  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

# 1

6 år 5 måneder siden

Permalink

Indsendt af ejvindh den 4. januar 2019 kl. 09:15

Permalink

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) ?
  • Log ind eller opret dig for at tilføje kommentarer

# 2

6 år 5 måneder siden

Permalink

Indsendt af ejvindh den 4. januar 2019 kl. 09:33

Permalink

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;
  • Log ind eller opret dig for at tilføje kommentarer

# 3

6 år 5 måneder siden

Permalink

Indsendt af peque den 4. januar 2019 kl. 16:40

Permalink

@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 = "Image removed.";
status = "Online";
} else {
Date nDate = new Date();
long nDiff = nDate.getTime();
long lastTimeDiff = o_time.getTime();
long milliSecSinceLastWrite = nDiff - lastTimeDiff;
if ( milliSecSinceLastWrite <= 86400000 );
{
online = "Image removed.";
status = "Disconnected";
} else {
online = "Image removed.";
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



  • Log ind eller opret dig for at tilføje kommentarer

# 4

6 år 5 måneder siden

Permalink

Indsendt af ejvindh den 5. januar 2019 kl. 10:32

Permalink

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/ConvertjavasqlTimesta…
  • Log ind eller opret dig for at tilføje kommentarer

# 5

6 år 5 måneder siden

Permalink

Indsendt af peque den 5. januar 2019 kl. 14:34

In reply to Ja, det er fordi din o_time by ejvindh

Permalink

£ 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
  • Log ind eller opret dig for at tilføje kommentarer

# 6

6 år 5 måneder siden

Permalink

Indsendt af ejvindh den 5. januar 2019 kl. 19:02

Permalink

Godt at du fik det til at

Godt at du fik det til at virke :)
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
En snak om Linux-kompatibel software 7
Nulstilling af adgangskode 6
Virtuel maskine? 2
PCLinuxOS 27
"Intet realistisk alternativ" - mig i r*ven 15
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !