Beste tweakers,
Ik heb een aparte datum classe gemaakt, met wat bewerkingen etc mtt de datum:
Nu wil ik een nieuwe instantie van Kalender maken:
Dit gaat allemaal goed, maar als ik een datum invul voor 1970 dan gaat het fout.
year = 1950
month = 1
day = 1
levert op (als ik het opsla als Kalender en daarna weer terug opvraag): 19-12-1949
Wat is er fout?
Ik heb een aparte datum classe gemaakt, met wat bewerkingen etc mtt de datum:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
| [java]
import java.awt.*;
import java.util.*;
import java.io.*;
import java.lang.*;
public class Kalender implements Serializable{
String beginDatum, eindDatum, beginTijd, eindTijd;
String[] ids = TimeZone.getAvailableIDs(+1 * 60 * 60 * 1000);
SimpleTimeZone pdt = new SimpleTimeZone(+1 * 60 * 60 * 1000, ids[0]);
Calendar calendar = new GregorianCalendar(pdt);
Calendar objBeginDatum = new GregorianCalendar();
Calendar objEindDatum = new GregorianCalendar();
public Kalender() {
}
public Kalender(Date dateDatum) {
// Deze constructor maakt een object aan van Kalender met het meegegeven date object.
// Als het een afspraak betreft, kan er een tijd aan meegegeven worden.
// In het geval van bijv een geboortedatum, zet je gewoon de tijd standaard op 0 ...
this.calendar.set(dateDatum.getYear(),dateDatum.getMonth(),dateDatum.getDate(),dateDatum.getHours(),dateDatum.getMinutes());
}
public String geefDatum() {
int dag,maand,jaar;
dag = calendar.get(Calendar.DAY_OF_MONTH);
maand = calendar.get(Calendar.MONTH) + 1;
jaar = calendar.get(Calendar.YEAR);
if (dag < 10 && maand < 10) {
return "0"+dag+"-0"+maand+"-"+jaar;
}
if (dag < 10) {
return "0" + dag+"-"+maand+"-"+jaar;
}
if (maand < 10) {
return dag+"-0"+maand+"-"+jaar;
}
else {
return dag+"-"+maand+"-"+jaar;
}
}
public String geefTijd() {
int uur,minuut;
uur = calendar.get(Calendar.HOUR);
minuut = calendar.get(Calendar.MINUTE);
if (uur < 10 && minuut < 10) {
return "0"+uur+":0"+minuut;
}
if (uur < 10) {
return "0" +uur+":"+minuut;
}
if (minuut < 10) {
return uur+":0"+minuut;
}
else {
return uur+":"+minuut;
}
}
public int geefMaand() {
return (calendar.get(Calendar.MONTH) + 1);
}
public int geefDag() {
return(calendar.get(Calendar.DAY_OF_MONTH));
}
public int geefJaar() {
return(calendar.get(Calendar.YEAR));
}
public boolean checkDatum(int dag, int maand, int jaar) {
System.out.println("Datumcheck op" +dag +"-" +maand +"-" +jaar);
Date datum = new Date(jaar, maand, dag);
if (datum.getDate() != dag || datum.getMonth() != maand || datum.getYear() != jaar) {
// Geboortedatum is fout
System.out.println("datum is foutief");
return false;
}
else {
System.out.println("datum is correct");
return true;
}
}
}
[/java] |
Nu wil ik een nieuwe instantie van Kalender maken:
code:
1
2
3
4
| [java] Date datum = new Date(year, month, day); Kalender kal = new Kalender(datum); [/java] |
Dit gaat allemaal goed, maar als ik een datum invul voor 1970 dan gaat het fout.
year = 1950
month = 1
day = 1
levert op (als ik het opsla als Kalender en daarna weer terug opvraag): 19-12-1949
Wat is er fout?