*** empty log message ***
[thera-pi.git] / TheraPiHilfe / src / therapiHilfe / datFunk.java
blob0b9ca1f9b26e094e6dd0a9f9cb76350dd72f38a0
1 package therapiHilfe;
3 import java.util.*;
4 import java.text.DateFormat;
5 import java.util.Date;
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){
19 if(sJavaDat==null){
20 return " . . ";
22 //if(sJavaDat.length() != 10){
23 // return " . . ";
24 //}
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,
39 DateFormat.MEDIUM,
40 Locale.GERMANY );
41 String s = new String(df.format(new java.util.Date()));
42 s = s.substring(0,s.indexOf( ' ' ));
43 return s;
46 /*************************************************************************************/
47 public static String sDatPlusTage(String datum,int Tage){
48 long anz_milli_1 = 0;
49 long anz_milli_2 = 0;
50 long anz_milli_3 = 0;
51 boolean deutsch = false;
52 String[] datsplit = datum.split("\\.");
53 Date dDatum;
54 String s;
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,
64 DateFormat.MEDIUM,
65 Locale.GERMANY);
67 if (anz_milli_2==0){
68 dDatum = new Date();
69 }else{
70 dDatum = new Date(anz_milli_3);
72 s = new String(df.format(dDatum));
73 s = s.substring(0,s.indexOf( ' ' ));
74 return s;
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(",");
88 return asErgebnis[0];
91 @SuppressWarnings("deprecation")
92 public static int TagDerWoche(String sdatum) {
93 int tag=0;
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);
98 if(tag == 1){
99 tag = 7;
100 }else{
101 tag = tag - 1;
103 return tag;
106 public static long TageDifferenz(String sdatum1,String sdatum2){
107 long mul1 = 0;
108 long mul2 = 0;
109 long mul3 = 0;
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();
121 mul3 = mul2-mul1;
122 if(mul3==0){
123 return 0;
125 return mul3/(24*60*60*1000L);
128 public static String WocheErster(String sdatum){
129 long mul = 0;
130 long mul2 = 0;
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);
136 if(tag == 1){
137 tag = 7;
138 }else{
139 tag = tag - 1;
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){
155 long mul = 0;
156 long mul2 = 0;
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){
176 return "";
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]) );
189 }else{
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){
196 String s;
197 Date dDatum;
198 DateFormat df = DateFormat.getDateTimeInstance( DateFormat.MEDIUM,
199 DateFormat.MEDIUM,
200 Locale.GERMANY);
202 if (ldatum==0){
203 dDatum = new Date();
204 }else{
205 dDatum = new Date(ldatum);
207 s = new String(df.format(dDatum));
208 s = s.substring(0,s.indexOf( ' ' ));
209 return s;
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)){
220 return true;
221 }else{
222 return false;
226 public static boolean Schaltjahr(int jahr) {
227 if( jahr == 0 ) {
228 ////System.out.println("Es gibt kein Jahr 0!");
229 return false;
230 } else {
231 if( jahr % 4 == 0 ) {
232 if( jahr % 100 == 0 ) {
233 if( jahr % 400 == 0 ) {
234 ////System.out.println("Schaltjahr!");
235 return true;
236 } else {
237 ////System.out.println("Kein Schaltjahr!");
238 return false;
240 } else {
241 ////System.out.println("Schaltjahr!");
242 return true;
244 } else {
245 ////System.out.println("Kein Schaltjahr!");
246 return false;
253 /********************Klassen-Klammer*************/
259 * /-------------------------------------------
260 //Daten aufnehmen
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
284 - 24L*60L*60L*1000L;
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
296 - 24L*60L*60L*1000L;
298 // gestriges Datum wird erzeugt
299 Date gestern = new Date(milli_sekunden_gestern);