4 import java
.text
.DateFormat
;
6 import java
.util
.Locale
;
7 import java
.util
.Calendar
;
8 import java
.text
.SimpleDateFormat
;
9 //import java.text.ParseException;
10 //import javax.swing.JFormattedTextField;
12 public class datFunk
{
15 //private String sDatumJava = "";
16 //private String sDatumDeutsch = "";
18 public static String
sDatInDeutsch(String sJavaDat
){
22 //if(sJavaDat.length() != 10){
25 String
[] splittArray
= sJavaDat
.split("-");
26 return splittArray
[2]+"."+splittArray
[1]+"."+splittArray
[0];
29 public static String
sDatInSQL(String sDeutschDat
){
30 //String sDatumSQL= new String();
31 String
[] splittArray
= sDeutschDat
.split("\\.");
32 //sDatumSQL = splittArray[2]+"-"+splittArray[1]+"-"+splittArray[0];
33 ////System.out.println(sDatumSQL);
34 return splittArray
[2]+"-"+splittArray
[1]+"-"+splittArray
[0];
37 public static String
sHeute(){
38 DateFormat df
= DateFormat
.getDateTimeInstance( DateFormat
.MEDIUM
,
41 String s
= new String(df
.format(new java
.util
.Date()));
42 s
= s
.substring(0,s
.indexOf( ' ' ));
46 /*************************************************************************************/
47 public static String
sDatPlusTage(String datum
,int Tage
){
51 boolean deutsch
= false;
52 String
[] datsplit
= datum
.split("\\.");
55 Calendar cal1
= new GregorianCalendar();
56 cal1
.set( Integer
.parseInt(datsplit
[2]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[0]) );
58 anz_milli_1
= cal1
.getTime().getTime();
59 anz_milli_2
= Math
.round( Tage
* (24. * 60.*60.*1000.) );
60 anz_milli_3
= anz_milli_1
+anz_milli_2
;
63 DateFormat df
= DateFormat
.getDateTimeInstance( DateFormat
.MEDIUM
,
70 dDatum
= new Date(anz_milli_3
);
72 s
= new String(df
.format(dDatum
));
73 s
= s
.substring(0,s
.indexOf( ' ' ));
76 /*************************************************************************************/
77 @SuppressWarnings("deprecation")
78 public static String
WochenTag(String sdatum
) {
79 String
[] asDatTeil
= sdatum
.split("\\.");
80 SimpleDateFormat formatter
= new SimpleDateFormat("dd.mm.yyyy");
82 formatter
.applyPattern( "EEEE', 'dd.mm yyyy hh:mm" );
84 String sErgebnis
= formatter
.format(new Date(Integer
.parseInt(asDatTeil
[2]),
85 Integer
.parseInt(asDatTeil
[1])-1,
86 Integer
.parseInt(asDatTeil
[0])-1 ));
87 String
[] asErgebnis
= sErgebnis
.split(",");
91 @SuppressWarnings("deprecation")
92 public static int TagDerWoche(String sdatum
) {
94 String
[] datsplit
= sdatum
.split("\\.");
95 Calendar cal1
= new GregorianCalendar();
96 cal1
.set( Integer
.parseInt(datsplit
[2]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[0]) );
97 tag
= cal1
.get(Calendar
.DAY_OF_WEEK
);
106 public static long TageDifferenz(String sdatum1
,String sdatum2
){
111 String
[] datsplit1
= sdatum1
.split("\\.");
112 String
[] datsplit2
= sdatum2
.split("\\.");
113 Calendar cal1
= new GregorianCalendar();
114 Calendar cal2
= new GregorianCalendar();
115 cal1
.set( Integer
.parseInt(datsplit1
[2]), Integer
.parseInt(datsplit1
[1])-1, Integer
.parseInt(datsplit1
[0]) );
116 cal2
.set( Integer
.parseInt(datsplit2
[2]), Integer
.parseInt(datsplit2
[1])-1, Integer
.parseInt(datsplit2
[0]) );
118 mul1
= cal1
.getTimeInMillis();
119 mul2
= cal2
.getTimeInMillis();
125 return mul3
/(24*60*60*1000L);
128 public static String
WocheErster(String sdatum
){
131 int tag
, monat
, jahr
;
132 String
[] datsplit
= sdatum
.split("\\.");
133 Calendar cal1
= new GregorianCalendar();
134 cal1
.set( Integer
.parseInt(datsplit
[2]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[0]) );
135 tag
= cal1
.get(Calendar
.DAY_OF_WEEK
);
141 mul
= (tag
-1)*24*60*60*1000L;
142 mul2
= cal1
.getTimeInMillis();
143 cal1
.setTimeInMillis(mul2
-mul
);
145 tag
= cal1
.get(Calendar
.DATE
);
146 monat
= cal1
.get(Calendar
.MONTH
)+1;
147 jahr
= cal1
.get(Calendar
.YEAR
);
148 String a
= (new Integer(tag
)).toString();
149 a
= (a
.length()<2 ?
"0"+a
: a
);
150 String b
= (new Integer(monat
)).toString();
151 b
= (b
.length()<2 ?
"0"+b
: b
);
152 return a
+"."+b
+"."+new Integer(jahr
).toString();
154 public static String
WocheLetzter(String sdatum
){
157 int tag
, monat
, jahr
;
158 String serster
= WocheErster(sdatum
);
159 String
[] datsplit
= serster
.split("\\.");
160 Calendar cal1
= new GregorianCalendar();
161 cal1
.set( Integer
.parseInt(datsplit
[2]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[0]) );
162 mul
= 6*24*60*60*1000L;
163 mul2
= cal1
.getTimeInMillis();
164 cal1
.setTimeInMillis(mul2
+mul
);
166 tag
= cal1
.get(Calendar
.DATE
);
167 monat
= cal1
.get(Calendar
.MONTH
)+1;
168 jahr
= cal1
.get(Calendar
.YEAR
);
169 String a
= (new Integer(tag
)).toString();
170 a
= (a
.length()<2 ?
"0"+a
: a
);
171 String b
= (new Integer(monat
)).toString();
172 b
= (b
.length()<2 ?
"0"+b
: b
);
173 return a
+"."+b
+"."+jahr
;
175 public String
WocheNaechste(String sdatum
){
178 public static int KalenderWoche(String sdatum
){
179 String
[] datsplit
= sdatum
.split("\\.");
180 Calendar gcal
= Calendar
.getInstance();
181 gcal
.set( Integer
.parseInt(datsplit
[2]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[0]) );
182 return gcal
.get(Calendar
.WEEK_OF_YEAR
);
184 public static long DatumsWert(String sdatum
){
185 Calendar gcal
= Calendar
.getInstance();
186 if(sdatum
.contains(".")){
187 String
[] datsplit
= sdatum
.split("\\.");
188 gcal
.set( Integer
.parseInt(datsplit
[2]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[0]) );
190 String
[] datsplit
= sdatum
.split("-");
191 gcal
.set( Integer
.parseInt(datsplit
[0]), Integer
.parseInt(datsplit
[1])-1, Integer
.parseInt(datsplit
[2]) );
193 return gcal
.getTimeInMillis();
195 public static String
WertInDatum(long ldatum
){
198 DateFormat df
= DateFormat
.getDateTimeInstance( DateFormat
.MEDIUM
,
205 dDatum
= new Date(ldatum
);
207 s
= new String(df
.format(dDatum
));
208 s
= s
.substring(0,s
.indexOf( ' ' ));
212 public static boolean GeradeWoche(String sdatum
){
213 return ((KalenderWoche(sdatum
) % 2)!= 0 ?
false : true);
215 public static boolean Unter18(String bezugdat
,String geburtstag
){
216 String
[] datsplit
= bezugdat
.split("\\.");
217 int jahr
= new Integer(datsplit
[2]) - 18;
218 String testdatum
= datsplit
[0]+"."+datsplit
[1]+"."+new Integer(jahr
).toString();
219 if(DatumsWert(testdatum
) < DatumsWert(geburtstag
)){
226 public static boolean Schaltjahr(int jahr
) {
228 ////System.out.println("Es gibt kein Jahr 0!");
231 if( jahr
% 4 == 0 ) {
232 if( jahr
% 100 == 0 ) {
233 if( jahr
% 400 == 0 ) {
234 ////System.out.println("Schaltjahr!");
237 ////System.out.println("Kein Schaltjahr!");
241 ////System.out.println("Schaltjahr!");
245 ////System.out.println("Kein Schaltjahr!");
253 /********************Klassen-Klammer*************/
259 * /-------------------------------------------
261 SimpleDateFormat formatter = new SimpleDateFormat("dd.mm.yyyy");
262 Date spaeter = formatter.parse("17.10.2004");
263 Date frueher = formatter.parse("13.10.2004");
265 //Millisekunden seit 1970 ;-)
266 long timeSpaeter = spaeter.getTime();
267 long timeFrueher = frueher.getTime();
269 //Millisekunden --> Tage
270 long diff = (timeSpaeter - timeFrueher) / 24 / 60 / 60 / 1000;
272 //System.out.println("Vergangen: " + diff + " Tage !");
273 //-----------------------------------------
276 // heutiges Datum wird erzeugt
277 Date heute = new Date();
279 // Anzahl der Sekunden nach 1.1.1970 ermitteln
280 long anz_milli_sekunden_nach_1970 = heute.getTime();
282 // heutiges Datum wird erzeugt
283 long milli_sekunden_gestern = anz_milli_sekunden_nach_1970
286 // gestriges Datum wird erzeugt
287 Date gestern = new Date(milli_sekunden_gestern);
288 // heutiges Datum wird erzeugt
289 Date heute = new Date();
291 // Anzahl der Sekunden nach 1.1.1970 ermitteln
292 long anz_milli_sekunden_nach_1970 = heute.getTime();
294 // heutiges Datum wird erzeugt
295 long milli_sekunden_gestern = anz_milli_sekunden_nach_1970
298 // gestriges Datum wird erzeugt
299 Date gestern = new Date(milli_sekunden_gestern);