Avatar billede r9 Nybegynder
13. juni 2002 - 10:29 Der er 11 kommentarer og
1 løsning

Java dato

Dette giver mig dagen i den aktuelle måned:

Calendar calendar = new GregorianCalendar();
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));




Hvordan får jeg dagen i morgen, eller i går?
Avatar billede eagleeye Praktikant
13. juni 2002 - 10:56 #1
du kan bruge Add

Calendar myCal = new GregorianCalendar();
//Maåke man kan sætte de to =
myCal = calendar;
//ellers kan man bruge set
myCal.Set (calendar.get.YEAR, calendar.get.MONTH, calendar.get.DATE)

//Dagen imogen kan findes med Add.
myCal.Add(Calendar.DATE, 1)


Prøv evt at kigge her, der er en masse omkring dato'er:
http://pleac.sourceforge.net/pleac_java/datesandtimes.html
Avatar billede r9 Nybegynder
13. juni 2002 - 14:15 #2
Hvordan fixer man dette problem?

Jeg får dagen = 30
Men burde få 31, da der jo er 31 dage i marts


        Calendar calendar2 = new GregorianCalendar();
        calendar2.set(2002,4,1);
        calendar2.add(Calendar.DATE, -1);
        System.out.println("DAY_OF_MONTH: " + calendar2.get(Calendar.DAY_OF_MONTH));
Avatar billede eagleeye Praktikant
13. juni 2002 - 14:19 #3
Månede som 4 giver vel April..

Marts er 3 månede.
Avatar billede r9 Nybegynder
13. juni 2002 - 14:21 #4
prøv lige at kigge på koden igen..

Jeg sætter datoen til: 2002.04.01  altså 01/04/2002

Så hvis jeg trækker en dag fra, så burde jeg altså få 31, nemlig den sidste dag i marts
Avatar billede eagleeye Praktikant
13. juni 2002 - 14:29 #5
arh ja .. så er det nok fordi januar = 0 og så skal April være = 3..
Avatar billede eagleeye Praktikant
13. juni 2002 - 14:34 #6
nej det er lidt underligt... Januar er 1..

hvad hvis du bruger denne:
GregorianCalendar calendar2 = new GregorianCalendar();
Avatar billede r9 Nybegynder
13. juni 2002 - 14:38 #7
problemmet er nok at når man trækker en dag fra, så bliver der trukket 24 timer fra.

Og der skiftes til sommertid ml. d. 31 marts og d. 1 april
så der bliver nok kun trukket 23 timer fra.
Avatar billede r9 Nybegynder
13. juni 2002 - 14:39 #8
samme problem med : GregorianCalendar calendar2 = new GregorianCalendar();
Avatar billede eagleeye Praktikant
13. juni 2002 - 14:42 #9
Ja måske men, den skulle vel så automatisk trække en time mere fra?

der skal ikke stå Calendar2.DATE ??
calendar2.add(Calendar2.DATE, -1);
Avatar billede r9 Nybegynder
13. juni 2002 - 14:45 #10
det giver det samme
Avatar billede eagleeye Praktikant
13. juni 2002 - 14:56 #11
Calendar calendar2 = new GregorianCalendar();
alendar2.set(2002,3,1);
calendar2.add(Calendar2.DATE, -1);
System.out.println("DAY_OF_MONTH: " + calendar2.get(Calendar.DAY_OF_MONTH));


Januar er 0 når man bruger Set jeg fat dette:
calendar.set(1973, 0, 18); // 18 Jan 1973
Avatar billede r9 Nybegynder
13. juni 2002 - 15:15 #12
du har jo ret.
takker :-)
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