Avatar billede mercutio Nybegynder
04. oktober 2001 - 12:43 Der er 22 kommentarer og
1 løsning

Gregorian kalender. Skal have mandag som første dag i ugen.

Hejsa.
Jeg er ved at lave en kalender i java. Jeg bruger GregorianCalender men min Calender mener at søndag er den første dag i ugen og det er det jo ikke i danmark. Hvordan sætter jeg det op?
Avatar billede disky Nybegynder
04. oktober 2001 - 12:44 #1
Har du sat dit OS op til at køre med dansk indstilling ?
Avatar billede mercutio Nybegynder
04. oktober 2001 - 12:48 #2
Jeps men har det ikke noget med hvilket locale man definerer? Jeg kan bare ikke få det til at du...
Avatar billede disky Nybegynder
04. oktober 2001 - 12:51 #3
Jeg mener at Java køre den locale som systemmet er sat op til.

Avatar billede mercutio Nybegynder
04. oktober 2001 - 12:51 #4
Hvad så hvis det er jsp og skal lægges over på en udenlansk server? Er der ikke en måde man kan sætte den til at have mandag som start dag?
Avatar billede disky Nybegynder
04. oktober 2001 - 12:53 #5
har lige prøvet:
        GregorianCalendar cal=new GregorianCalendar();
        System.out.println(\"dag = \"+cal.get(Calendar.DAY_OF_WEEK));


Den siger dag = 5,

Den nemme løsning er at kompensere rent program mæssigt for den finurlighed

Træk 1 fra bliver tallet negativt, sæt lig med 7 (søndag)
Avatar billede disky Nybegynder
04. oktober 2001 - 12:55 #6
Det tror jeg ikke

om DAY_OF_WEEK står der:

Field number for get and set indicating the day of the week. This field takes values SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, and SATURDAY

Den er åbenbart hardcodet til de værdier.
Avatar billede mercutio Nybegynder
04. oktober 2001 - 12:56 #7
Har selv lige fundet det i doc. Men når jeg compiler siger den.kalender.java:12: cannot resolve symbol
symbol  : variable MONDAY 
location: class kalender
        calendar.setFirstDayOfWeek(MONDAY);
Avatar billede disky Nybegynder
04. oktober 2001 - 12:57 #8
calendar.setFirstDayOfWeek(Calendar.MONDAY);
prøv det istedet.
Avatar billede mercutio Nybegynder
04. oktober 2001 - 13:00 #9
det compiler fint bortset fra den stadig siger at idag er dag 5 og det er det jo kun hvis søndag er start dag så det ændrer ikke noget. Øv.
Avatar billede disky Nybegynder
04. oktober 2001 - 13:01 #10
Lyder fornuftigt, men hjælper ikke synderligt :(

Jeg før stadigvæk at idag er 5 dag i ugen.

Men getFirstDayOfWeek() ændrer sig rigtigt nok
Avatar billede mercutio Nybegynder
04. oktober 2001 - 13:01 #11
Så må jeg jo gøre som du siger. programmere mig rundt om det. Men trist....
Avatar billede disky Nybegynder
04. oktober 2001 - 13:01 #12
helt enig
Avatar billede mercutio Nybegynder
04. oktober 2001 - 13:02 #13
Det er da noget ged.... Lad os sende et klagebrev til Sun =) Men tak for hjælpen.
Avatar billede disky Nybegynder
04. oktober 2001 - 13:02 #14
prøv at lave en bug report på dette problem.
Avatar billede mercutio Nybegynder
04. oktober 2001 - 13:05 #15
ok.
Avatar billede carstenknudsen Nybegynder
04. oktober 2001 - 13:50 #16
Formelt er søndag den første dag i uge i Danmark.
Avatar billede disky Nybegynder
04. oktober 2001 - 13:53 #17
hvor er det defineret ? (bare af nysgerrighed)
Avatar billede carstenknudsen Nybegynder
04. oktober 2001 - 14:02 #18
Det er nok Handelsministeriet, det er dem der via
bekendtgørelser definerer ting som at vi benytter
meter, kilogram og sekunder etc.  Jeg skal prøve
at finde det.
Avatar billede logical Nybegynder
04. oktober 2001 - 20:06 #19
Uha, hvor ser man mange frygtelige ting... Nu har jeg læst det til fulde, og nu er min datter lagt i seng...

        GregorianCalendar gc = new GregorianCalendar(new Locale(\"da\",\"DK\"));
        System.out.println(gc.getFirstDayOfWeek() == gc.MONDAY);

Undskyld mig, men det giver altså mandag, ligesom alle mine officielle kalendre siger at mandag er første dag i ugen.

Hvis du arbejder med jsp, kan du faktisk gøre følgende:
// These are the locales, the client has provided based on the
// Accept-language header, preferred first.
Enumeration enum = request.getLocales();

// This is just the preferred locale of the client based on
// the Accept-language header.
Locale l = request.getLocale();
Avatar billede logical Nybegynder
04. oktober 2001 - 20:08 #20
Ups, jeg hader den tab tast i et tekstfelt.
Den returnerer det locale, som brugeren foretrækker, så de evt. kan se en kalender, som deres browser er sat op.
Avatar billede disky Nybegynder
05. oktober 2001 - 08:48 #21
logical:

Ha de var den new Locale() jeg havde glemt :(
Jeg vidste den dumme kalender godt kunne finde ud af det, jeg mente bare den brugte systemmet defaults.
Avatar billede mercutio Nybegynder
05. oktober 2001 - 11:07 #22
Super duper =) tak for hjælpen logical selv efter jeg har givet point =)
Avatar billede logical Nybegynder
05. oktober 2001 - 17:05 #23
Den bruger også systemets default, som er C_LOCALE. Det har ikke noget med den omkringliggende computer at gøre direkte.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester