Jeg har et webprojekt med nogle servlets, som gemmer en dato som et hidden field på html-sider, der sendes til klienterne, til brug for sammenligning med en dato jeg har gemt i min database.
Problemet er at klienterne kører på en Citrix-server, som kører GMT, mens web-serveren kører GMT+1, det ser ud til at datoen automatisk bliver konverteret til GMT-tid, når den skrives, men ikke tilbage igen når den skal læses igen inde i servletten.
Datoen er en java.sql.timestamp, når den skrives anvender jeg tostring og når den læses anvender jeg valueof.
Har nogen en ide om hvad der skal til for at lave en symetrisk konvertering, så jeg kan sammenligne datoer på tværs af tidszoner.
Det har jeg desværre prøvet. Men det gav to forskellige resultater på de to klienter, selv om det byggede på den samme dato. Der var præcis 3600000 millisekunder imellem de to værdier.
Ja, jeg har nu fundet ud af at problemet skyldes at der kører med to forskellige java versioner 4.1 på web-serveren og 5.0 på klienten. I java 5.0 har man ændret default konvertering af timestamps og det er årsagen til problemet. Da jeg ikke skal regne på datoerne, men kun skal bruge dem til at kontrollere, om der er rettet siden sidst læste recorden, vil jeg bare lade sql-serveren caste timestampet til tekst og så sammenligne tekster i stedet.
Nej det er selvfølgelig 1.4 og 1.5 jeg mener. Det har vist været for lang en juleferie.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.