G
Gast
Gast
Hallo,
ich möchte gerne aus einem Datum die Woche berechnen (um das fett geschriebene geht es),kriege es allerdings einfach nicht hin, ich brauche dringend Hilfe, ich verzweifle bald.
Danke.
public class Datum {
// Variablendeklaration
static int zeile=0;
static int iarray[][]=new int [3][3];
int iTag, iMonat, iJahr, iLfdTag; //
String strwochentag=new String(); //Variable fuer den Wochentag
String strmonat=new String(); //Variable fuer den Monat
String strjahr=new String (); //Variable fuer das Jahr
// hier soll nun die Woche berechnet werden
Datum=new Date(j,m-1,t);
DoDat=donnerstag(Datum);
kwjahr=DoDat.getFullYear();
DoKW1=donnerstag(new Date(kwjahr,0,4));
kw=Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/8400000/7)
function donnerstag(datum) {
var Do=new Date();
Do.setTime(datum.getTime() + (3-((datum.getDay()+6) % 7)) * 86400000);
return Do;
}
//Methode zur Brechnung des Wochentages
void berechnenWochentag()
{
int pMonat=iMonat; //Hier bekommt pMonat den Wert von iMonat
int pJahr=iJahr; //pJahr erhaelt den Wert von iJahr
int f;
//Beginn der Berechnung des Wochentages
if (pMonat<3)
{
pMonat=pMonat+10;
pJahr=pJahr-1;
}
else
{
pMonat=pMonat-2;
}
int Jahr1=pJahr/100;
int Jahr2=(pJahr%100);
int h1=(pMonat*13-1)/5;
int h2=Jahr2/4;
int h3=Jahr1/4;
int b=h1+h2+h3;
if (pJahr%100==0) //Wenn Jahreszahl ohne Rest durch 100 teilbar ist
{
//Ja, Korrektur der Jahreszahl, die durch 100 teilbar ist, mit +7
f=(b+7+Jahr2+iTag-Jahr1*2)%7;
}
else
{
//Nein, wie gewohnt berechnen
f=(b+Jahr2+iTag-Jahr1*2)%7;
}
//Zuweisung des Wochentages
switch (f)
{
case 0: strwochentag="Sonntag";
break;
case 1: strwochentag="Montag";
break;
case 2: strwochentag="Dienstag";
break;
case 3: strwochentag="Mittwoch";
break;
case 4: strwochentag="Donnerstag";
break;
case 5: strwochentag="Freitag";
break;
case 6: strwochentag="Samstag";
break;
default: strwochentag="Fehler";
//default haette hier auch case 6 ersetzen koennen
}
//Ausgabe des Wochentages
System.out.println("Der " +iTag+"."+iMonat+"."+iJahr+ " war ein "
+strwochentag);
}
void bestimmenLfdTag4 ()
{
int [] iATag={31,28,31,30,31,30,31,31,30,31,30,31,1};
iLfdTag=0;
switch(iMonat)
{
case 1:iLfdTag=iTag;
break;
case 2:iLfdTag=iATag[0]+iTag;
break;
default:for(int i=0;i<iMonat-1;i++)
{
iLfdTag+=iATag;
}
iLfdTag+=iTag;
}
if (iMonat>=3)
{
if ((iJahr%4==0 && iJahr%100!=0) || iJahr%400==0)
{
iLfdTag+=1; //Schaltjahr
}
}
else;
System.out.println("Das angegebene Datum "+iTag+"."+iMonat+"."+iJahr+
" entspricht dem "+iLfdTag+" Tag");
}
}
ich möchte gerne aus einem Datum die Woche berechnen (um das fett geschriebene geht es),kriege es allerdings einfach nicht hin, ich brauche dringend Hilfe, ich verzweifle bald.
Danke.
public class Datum {
// Variablendeklaration
static int zeile=0;
static int iarray[][]=new int [3][3];
int iTag, iMonat, iJahr, iLfdTag; //
String strwochentag=new String(); //Variable fuer den Wochentag
String strmonat=new String(); //Variable fuer den Monat
String strjahr=new String (); //Variable fuer das Jahr
// hier soll nun die Woche berechnet werden
Datum=new Date(j,m-1,t);
DoDat=donnerstag(Datum);
kwjahr=DoDat.getFullYear();
DoKW1=donnerstag(new Date(kwjahr,0,4));
kw=Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/8400000/7)
function donnerstag(datum) {
var Do=new Date();
Do.setTime(datum.getTime() + (3-((datum.getDay()+6) % 7)) * 86400000);
return Do;
}
//Methode zur Brechnung des Wochentages
void berechnenWochentag()
{
int pMonat=iMonat; //Hier bekommt pMonat den Wert von iMonat
int pJahr=iJahr; //pJahr erhaelt den Wert von iJahr
int f;
//Beginn der Berechnung des Wochentages
if (pMonat<3)
{
pMonat=pMonat+10;
pJahr=pJahr-1;
}
else
{
pMonat=pMonat-2;
}
int Jahr1=pJahr/100;
int Jahr2=(pJahr%100);
int h1=(pMonat*13-1)/5;
int h2=Jahr2/4;
int h3=Jahr1/4;
int b=h1+h2+h3;
if (pJahr%100==0) //Wenn Jahreszahl ohne Rest durch 100 teilbar ist
{
//Ja, Korrektur der Jahreszahl, die durch 100 teilbar ist, mit +7
f=(b+7+Jahr2+iTag-Jahr1*2)%7;
}
else
{
//Nein, wie gewohnt berechnen
f=(b+Jahr2+iTag-Jahr1*2)%7;
}
//Zuweisung des Wochentages
switch (f)
{
case 0: strwochentag="Sonntag";
break;
case 1: strwochentag="Montag";
break;
case 2: strwochentag="Dienstag";
break;
case 3: strwochentag="Mittwoch";
break;
case 4: strwochentag="Donnerstag";
break;
case 5: strwochentag="Freitag";
break;
case 6: strwochentag="Samstag";
break;
default: strwochentag="Fehler";
//default haette hier auch case 6 ersetzen koennen
}
//Ausgabe des Wochentages
System.out.println("Der " +iTag+"."+iMonat+"."+iJahr+ " war ein "
+strwochentag);
}
void bestimmenLfdTag4 ()
{
int [] iATag={31,28,31,30,31,30,31,31,30,31,30,31,1};
iLfdTag=0;
switch(iMonat)
{
case 1:iLfdTag=iTag;
break;
case 2:iLfdTag=iATag[0]+iTag;
break;
default:for(int i=0;i<iMonat-1;i++)
{
iLfdTag+=iATag;
}
iLfdTag+=iTag;
}
if (iMonat>=3)
{
if ((iJahr%4==0 && iJahr%100!=0) || iJahr%400==0)
{
iLfdTag+=1; //Schaltjahr
}
}
else;
System.out.println("Das angegebene Datum "+iTag+"."+iMonat+"."+iJahr+
" entspricht dem "+iLfdTag+" Tag");
}
}
Code: