/ 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
Årstal.
Fra : Søren Jacob Lauritse~


Dato : 21-10-01 08:33

Hvordan får jeg Java til at fortælle mig, hvilket år det er? Jeg har
forgæves ledt efter en slags "year(now)" funktion...

/Søren

--
Fjern "nospam" fra e-mailadressen, hvis du vil maile til mig!
www: http://www.sjl.dk/



 
 
Filip Larsen (21-10-2001)
Kommentar
Fra : Filip Larsen


Dato : 21-10-01 09:05

Søren Jacob Lauritsen skrev

> Hvordan får jeg Java til at fortælle mig, hvilket år det er? Jeg har
> forgæves ledt efter en slags "year(now)" funktion...

Calendar er din ven:

import java.util.*;
...
Calender now = new GregorianCalendar();
int year = now.get(YEAR);

Calendar (og dens GregorianCalendar implementering) kan en utrolig masse
ting. Se javadoc'en på
http://java.sun.com/j2se/1.4/docs/api/java/util/Calendar.html


Mvh,
--
Filip Larsen <filip.larsen@mail.dk>



Søren Jacob Lauritse~ (21-10-2001)
Kommentar
Fra : Søren Jacob Lauritse~


Dato : 21-10-01 16:24

Filip Larsen wrote
> int year = now.get(YEAR);

Om ovenstående linie får jeg denne her:

"Undefined variable: YEAR"

Den kender åbenbart ikke din årskonstant...

/Søren

--
Fjern "nospam" fra e-mailadressen, hvis du vil maile til mig!
www: http://www.sjl.dk/




Søren Jacob Lauritse~ (21-10-2001)
Kommentar
Fra : Søren Jacob Lauritse~


Dato : 21-10-01 16:26

"Søren Jacob Lauritsen" <devnull@nospam.sjl.dk> wrote in message
news:9qupb3$nk2$1@sunsite.dk...
> > int year = now.get(YEAR);
> Om ovenstående linie får jeg denne her:
>
> "Undefined variable: YEAR"
> Den kender åbenbart ikke din årskonstant...

Der skulle jo så have stået "now.YEAR", my mistake! :)

/Søren

--
Fjern "nospam" fra e-mailadressen, hvis du vil maile til mig!
www: http://www.sjl.dk/




Steffen Enni (21-10-2001)
Kommentar
Fra : Steffen Enni


Dato : 21-10-01 20:53


"Søren Jacob Lauritsen" <devnull@nospam.sjl.dk> wrote in message
news:9qupev$o5j$1@sunsite.dk...
> "Søren Jacob Lauritsen" <devnull@nospam.sjl.dk> wrote in message
> news:9qupb3$nk2$1@sunsite.dk...
> > > int year = now.get(YEAR);
>
> Der skulle jo så have stået "now.YEAR", my mistake! :)
>

Endnu bedre: Calendar.YEAR.

Det ud fra filosofien om at statiske metoder og felter tilgår man med
Klasse.felt/metode. Det øger læsbarheden. Se eventuelt her
http://java.sun.com/docs/codeconv/html/CodeConventions.doc9.html#587.

(Og det er ikke kun Sun der synes det er fornuftigt. Det er at betragte som
folklore, og dermed en del af enhver professionel software udviklers vaner.)

Venlig hilsen,

Steffen
--
Steffen Enni
Zacho Consult ApS --- URL: http://www.zachosw.dk
Email: enni@zachosw.dk Phone: (+45) 22 64 51 38




Søren Jacob Lauritse~ (22-10-2001)
Kommentar
Fra : Søren Jacob Lauritse~


Dato : 22-10-01 18:26

Steffen Enni wrote
> Endnu bedre: Calendar.YEAR.
>
> Det ud fra filosofien om at statiske metoder og felter tilgår man med
> Klasse.felt/metode. Det øger læsbarheden.

Desuden er det spild af hukommelse, at oprette et objekt, med det ene
formål at hente det aktuelle årstal. Jeg synes selv min fremgangsmåde
var "upraktisk", men ikke desto mindre kan jeg ikke få det andet til at
virke, tro mig jeg har prøvet. Den siger vi er i år 1, hvilket jo på en
måde også er korrekt, men vi er jo altså i år 2001, og jeg synes det var
mærkeligt at jeg skulle lægge 2000 til, for at få det aktuelle år!

/Søren





Jacob Nordfalk (24-10-2001)
Kommentar
Fra : Jacob Nordfalk


Dato : 24-10-01 20:19

> Desuden er det spild af hukommelse, at oprette et objekt, med det ene
> formål at hente det aktuelle årstal. Jeg synes selv min fremgangsmåde
> var "upraktisk", men ikke desto mindre kan jeg ikke få det andet til at
> virke, tro mig jeg har prøvet.

Mig bekendt findes der ikke en anden metode end at oprette et objekt.


> Den siger vi er i år 1, hvilket jo på en
> måde også er korrekt, men vi er jo altså i år 2001, og jeg synes det var
> mærkeligt at jeg skulle lægge 2000 til, for at få det aktuelle år!

Det er fordi du har misforstået hvad Calendar.YEAR er. Det er IKKE det
aktuelle år, men derimod en konstant der BETYDER år. Calendar.MONTH
har sikkert værdien 2, Calendar.DAY 3, o.s.v (jeg har ikke tjekket
de præcise tal)

Disse værdier bruges til at fortælle et kalender-objekt hvilket felt
man er interesseret i.

now.get(Calendar.YEAR) == now.get(1) giver året
now.get(Calendar.MONTH) == now.get(2) giver måneden
now.get(Calendar.DAY) == now.get(3) giver dagen




Jacob Nordfalk

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste