kukuk
App-Anbieter (kostenlos)
- 37
Ist es möglich festzustellen ob welcher Wochentag heute ist? Also Mo-Sonntag?
Mit freundlichen Grüßen
Mit freundlichen Grüßen
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: this_feature_currently_requires_accessing_site_using_safari
Was für ein Googlekalender? Wozu Internet?ui_3k1 schrieb:Ob man dafür wirklich den Google Kalender braucht... Benötigt die App schon wieder Internet.
Calendar cal = new GregorianCalendar();
cal.setTime( new Date() ); // Datum von heute
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
#include "Date.h"
#include "iomanip"
Date::Date(int yy, Month mm, int dd) // Konstruktor-Definition
: y(yy), m(mm), d(dd) {
//if (!check()) throw Date::Invalid();
}
Date::Date() //STANDARDKONSTRUKTOR DEFAULTWERT
: y(1876), m(Jan), d(1) {
}
Date::~Date() {
}
int Date::get_y() const {
return y;
}
int Date::get_d() const {
return d;
}
std::string Date::toString(int k) const {
std::string s = "";
switch (k) {
case 1:
s = "Jan";
break;
case 2:
s = "Feb";
break;
case 3:
s = "Mrz";
break;
case 4:
s = "Apr";
break;
case 5:
s = "Mai";
break;
case 6:
s = "Jun";
break;
case 7:
s = "Jul";
break;
case 8:
s = "Aug";
break;
case 9:
s = "Sep";
break;
case 10:
s = "Okt";
break;
case 11:
s = "Nov";
break;
case 12:
s = "Dez";
break;
}
return s;
}
void Date::add_days() {
d++;
}
void Date::show_date() {
std::cout << get_y() << "-" << toString(m) << "-" << std::setfill('0') << std::setw(2) << get_d() << std::endl;
}
void Date::add_months(int mi) {
int mx = m;
std::string sm = "";
mx += mi;
sm = toString(mx);
if (!check()) throw Date::Invalid();
}
bool Date::check() {
//JAHR ZWISCHEN 1800 UND 2200
if (y > 2200 || y < 1800) {
// std::cout << "Datum zu weit in der Vergangenheit/Zukunft!" << std::endl;
return false;
}
//MONAT ZWISCHEN 1 UND 12
if (m > Dez || m < Jan) {
// std::cout << "Den " << m << ". Monat gibt es nicht!" << std::endl;
return false;
}
//MONATE MIT 30 TAGEN
switch (m) {
case Feb: // noch ohne Schaltjahre
if (d > 28) {
if (d == 30 || d == 31) {
// std::cout << "Der Februar hat maximal 29 Tage!" << std::endl;
return false;
}
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
if (m == Feb && d == 29) {
// std::cout << "Genau! Schaltjahr hat den 29. Feb!" << std::endl;
return true;
}
} else {
// std::cout << "Kein Schaltjahr, daher auch kein 29. Feb!" << std::endl;
return false;
}
}
case Apr: case Jun: case Sep: case Nov:
if (d > 30) {
// std::cout << "Dieser Monat hat nie mehr als 30 Tage!" << std::endl;
return false;
}
default:
if (d > 31) {
// std::cout << "Ein Monat hat nie mehr als 31 Tage!" << std::endl;
return false;
}
}
// std::cout << "Dieser Tag existiert!" << std::endl;
return true;
}
bool Date::checkDayUp() {
switch (mx) {
case 2:
if (d > 27) {
if (d == 29 || d == 30) {
return false;
}
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
if (mx == 2 && d == 28) {
return true;
}
} else {
return false;
}
}
case 4: case 6: case 9: case 11:
if (d > 29) {
return false;
}
default:
if (d > 30) {
return false;
}
}
return true;
}
bool Date::checkDayDown() {
switch (mx) {
case 2:
if (d < 2) {
return false;
}
case 4: case 6: case 9: case 11:
if (d < 2) {
return false;
}
default:
if (d < 2) {
return false;
}
}
return true;
}
bool Date::checkMonthUp() {
if (mx > 11 || mx < 1)
return false;
}
bool Date::checkMonthDown() {
if (mx > 12 || mx < 2)
return false;
}
bool Date::checkYear() {
if (y > 2200 || y < 1800)
return false;
}
int Date::compareTo(Date d1) {
Date d2;
d2.d = 18;
d2.m = Date::Mrz;
d2.y = 2000;
int valueOfDay1 = d1.d + (d1.m * 12) + (d1.y * 365);
int valueOfDay2 = d2.d + (d2.m * 12) + (d2.y * 365);
if (valueOfDay1 == valueOfDay2)
return 0;
if (valueOfDay1 < valueOfDay2)
return -1;
if (valueOfDay1 > valueOfDay2)
return 1;
}
int Date::get_month_for_calc() {
switch (Date::m) {
case Jan: return 1;
break;
case Feb: return 2;
break;
case Mrz: return 3;
break;
case Apr: return 4;
break;
case Mai: return 5;
break;
case Jun: return 6;
break;
case Jul: return 7;
break;
case Aug: return 8;
break;
case Sep: return 9;
break;
case Okt: return 10;
break;
case Nov: return 11;
break;
case Dez: return 12;
break;
}
}
void Date::inc_day(int howMany) {
mx = get_month_for_calc();
while (howMany > 0) {
if (checkDayUp()) {
d++;
} else if (checkMonthUp()) {
d = 1;
mx++;
} else if (checkYear()) {
mx = 1;
d = 1;
y++;
}
std::cout << get_y() << "-" << std::setfill('0') << std::setw(2) << toString(mx) << "-" << std::setfill('0') << std::setw(2) << get_d() << std::endl;
howMany--;
}
}
void Date::dec_day(int howMany) {
mx = get_month_for_calc();
while (howMany > 0) {
if (checkDayDown()) {
d--;
} else if (checkMonthDown()) {
mx--;
switch (mx) {
case 1: d = 31;
break;
case 2:
if (d == 28 && y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
d = 29;
else
d = 28;
break;
case 3: d = 31;
break;
case 4: d = 30;
break;
case 5: d = 31;
break;
case 6: d = 30;
break;
case 7: d = 31;
break;
case 8: d = 31;
break;
case 9: d = 30;
break;
case 10: d = 31;
break;
case 11: d = 30;
break;
case 12: d = 31;
break;
}
} else if (checkYear()) {
mx = 12;
d = 31;
y--;
}
std::cout << get_y() << "-" << std::setfill('0') << std::setw(2) << toString(mx) << "-" << std::setfill('0') << std::setw(2) << get_d() << std::endl;
howMany--;
}
}
Date::Invalid::Invalid() {
msg = "Invalid aufgerufen!";
}
Date::Invalid::~Invalid() {
}
std::string Date::Invalid::what() {
return msg;
}
ui_3k1 schrieb:Und wie du selbst sagst "Das ist ein Dreizeiler" -> stimmt! Und der Lernerfolg geht bei dem Dreizeiler gegen Null, mehr als ein paar Initialisierungen kann ich dem Code nicht entnehmen.
Speziell bei Dingen, die Java schon mitliefert.
In meiner Anfangszeit als Programmierer habe ich natürlich auch solche Dinge entwickelt, um zu lernen 
ui_3k1 schrieb:Okay, sehe es gerade. Naja, jetzt hab ich wieder was gelernt: nämlich was es für eine tolle Java-Lib gibt.![]()
Calendar cal = new GregorianCalendar();
int month = cal.get(Calendar.MONTH);
int hour24 = cal.get(Calendar.HOUR_OF_DAY);
int day = cal.get(Calendar.DAY_OF_WEEK);
SimpleDateFormat dateFormat = new SimpleDateFormat(
"HHmm");
int uhrzeit = Integer.parseInt(dateFormat.format(cal.getTime()));
if (day > 1 && day < 7 && uhrzeit <= 1530 && uhrzeit >= 700){
außerhalb_der_geschäftszeiten = false;
}else{
außerhalb_der_geschäftszeiten = true;
}
if (day ==6 && uhrzeit > 1430){
außerhalb_der_geschäftszeiten = true;
}
if (Global.stadt.equals("essen")){
if (day == 6 && uhrzeit > 1230){
außerhalb_der_geschäftszeiten = true;
}
}
kosmus schrieb:Eigentlich ist der gregorianCalender gar nicht so toll, deshalb wurde die Datums Berechnung in Java 8 auch erneuert![]()
Aber mal ernsthaft wir sind nicht hier um Leute zu erziehen und so posts wie StefMa "ja" sind so nützlich wie ein Lutscher der nach Sch* schmeckt. Gerade bei offensichtlich leichten Problemen sollte man so wie Jarny und KatyB eine konkrete Antwort geben und wenn kukuk mehr zu dem Thema wissen will, wird er/sie schon fragen. Ich finde es schade das StefMa auch noch mehr danke Klicks damit bekommt als die anderen beiden zusammen...