/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Har Date-klassen ændret sig fra 1.4.x til ~
Fra : Brian Fisker [8900]


Dato : 25-04-05 22:21

Kan det virkelig passe, at Date-klassen har ændret sig fra 1.4.x til 1.5.0?
Jeg har følgende problem:

Mit Date objekt har i v. 1.4.1 værdien "2005-03-05".
I v. 1.5.0 er værdien "2005-03-04" :(

I Eclipse Debugmode ligner objekterne på ingen måde hinanden.

Mvh
Mandal



 
 
Kasper G. Christense~ (26-04-2005)
Kommentar
Fra : Kasper G. Christense~


Dato : 26-04-05 07:07

> Kan det virkelig passe, at Date-klassen har ændret sig fra 1.4.x til 1.5.0?

Så vidt et hurtigt kig i API'et afslører, ser det ikke ud til at der er
ændret noget, men OK jeg har ikke kigget så grundigt, og ved heller ikke
konkret hvilke funktioner du benytter og hvad jeg derfor bør kigge
efter, men du kan jo selv kigge videre.

Det betyder jo så ikke nødvendigvis at der ikke er sket noget med
implementatinonen, men det burde principielt set være ligegyldigt.

> Mit Date objekt har i v. 1.4.1 værdien "2005-03-05".
> I v. 1.5.0 er værdien "2005-03-04" :(

Hvordan instantierer du objektet, og hvordan konstaterer du at datoerne
er forskellige? En lille stump eksempel-kode ville gøre underværker.
Læser du et serialiseret objekt fra en fil eller...? Bemærk forøvrigt at
siden JDK 1.1 bør man bruge Calendar til de fleste dato-ting. Desuden
repræsenterer et Date-objekt et tidspunkt (inkl. klokkeslet), og ikke
kun en dato -- men jeg ved selvfølgelig ikke om det har betydning i dit
tilfælde.

Mvh. Kasper


Jeppe Larsen (27-04-2005)
Kommentar
Fra : Jeppe Larsen


Dato : 27-04-05 10:33

On Mon, 25 Apr 2005 23:21:05 +0200, Brian Fisker [8900] wrote:

> Kan det virkelig passe, at Date-klassen har ændret sig fra 1.4.x til 1.5.0?
> Jeg har følgende problem:
>
Det meste af Date-klassen har været "deprecated" siden 1.1. Mon ikke det
har noget at sige?

--
vh
Jeppe W. Larsen


Johnnie Hougaard Nie~ (27-04-2005)
Kommentar
Fra : Johnnie Hougaard Nie~


Dato : 27-04-05 20:09

Brian Fisker [8900] wrote:
> Mit Date objekt har i v. 1.4.1 værdien "2005-03-05".
> I v. 1.5.0 er værdien "2005-03-04" :(

Jeg har ikke lige styr på om der er sket et-eller-andet med 1.5, men
dit problem kunne meget nemt være rod i valg af tidszone. Afhængig af
hvad du gør (eller ikke gør) for at markere hvilken tidszone at du
ønsker at tolke en dato (eller en Date) i, kan den blive forskellig.

Hvis du ikke gør noget kan du måske være løbet ind i at der kan være
forskel på om den selv finder ud af sommertid.....

Mvh. Johnnie

Jeppe Larsen (27-04-2005)
Kommentar
Fra : Jeppe Larsen


Dato : 27-04-05 20:49

On Wed, 27 Apr 2005 21:08:33 +0200, Johnnie Hougaard Nielsen wrote:
> Jeg har ikke lige styr på om der er sket et-eller-andet med 1.5, men
> dit problem kunne meget nemt være rod i valg af tidszone. Afhængig af
> hvad du gør (eller ikke gør) for at markere hvilken tidszone at du
> ønsker at tolke en dato (eller en Date) i, kan den blive forskellig.
>
> Hvis du ikke gør noget kan du måske være løbet ind i at der kan være
> forskel på om den selv finder ud af sommertid.....
>
> Mvh. Johnnie

Det er vist netop derfor at Date er blevet "deprecated" og de istedet
anbefaler at man bruger Calendar.

--
vh
Jeppe W. Larsen


Johnnie Hougaard Nie~ (27-04-2005)
Kommentar
Fra : Johnnie Hougaard Nie~


Dato : 27-04-05 22:20

Jeppe Larsen wrote:
> Det er vist netop derfor at Date er blevet "deprecated" og de istedet
> anbefaler at man bruger Calendar.

Date er da ikke det mindste deprecated - den er god til at kaste rundt
som value object, og masser af Java API klasser gør da også brug af en
Date og ikke et mere tungt Calendar object - som jo til gengæld kan lave
mere sjove ting med et tidspunkt.

Men hvis en Calendar skal formatters ud til en læsbar dato, bliver det
sjovt nok aktuelt at hive en Date ud af den, og så bruge DateFormat
(eller SimpleDateFormat) - hvor den rette TimeZone kommer ind i billedet.

Og om der f.eks. bruges sådanne uhumskheder som et tidspunkt uden zone,
der bliver fortolket ud fra den zone som maskinen "tilfældigvis" er sat
til - hvor detaljer som sommertid jo kan give underholdning........

Mvh. Johnnie

Casper B (29-04-2005)
Kommentar
Fra : Casper B


Dato : 29-04-05 13:57

Date som timstamp repræsentation er ikke deprecated, kun metoder til at
arbejde på dennes værdi er nu at finde i bl.a. Calendar. Prøv at lave en
getTime() på dine dates for at sikre at de rent faktisk repræsenterer
samme "tidspunkt".

Det er sansynligvis fortolkningen af denne den er gal med, du bruger
sansynligvis ikke SimpleDateFormat til manuelt at formattere dato med,
min teori er istedet at den defaulte "Locale" er ændret. Java henter
formatteringsinformation osv. fra sun.text.resources.LocaleData, baseret
på hvilken locale der køres med.

Casper

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409075
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste