Wochentag über das Datum anzeigen

  • Seite 1 von 3
29.08.2023 23:37
#1 Wochentag über das Datum anzeigen
avatar
Mitglied

Habe mal wieder eine Kuriosität mit vielen Fragezeichen ????

Wollte dem Geburtstagsdatum aus dem Profil noch zusätzlich den Wochentag spendieren (Montag, Dienstag,...)!
Denn, wer weiß an welchen Wochentag man geboren ist!
Finde ich jedenfalls sehr interessant!
Habe mir auch ein Skript zusammengebaut, dass leider noch einen Fehler hat!

Hier der Fehler:

November (i.O.):


Dezember (nicht i.O.):


Habe ich ein Beispiel-Datum von "15. November 2000" ist alle Ok!
Anzeige: 15. November 2000 - Mittwoch

Habe ich ein Beispiel-Datum von "15. Dezember 2000" wird der Wochentag undefiniert angezeigt!
Anzeige: 15. Dezember 2000 - undefined

Das passiert auch bei den folgenden Monaten:
März, Mai, Oktober und Dezember

****************

Es liegt daran, dass die Monats-Auswahl in Deutsch ist, das Skript aber die englisch sprachigen Monate benötigt,
wie March, May, October und December

Lässt sich das korrigieren?
Wer weiß hier weiter, wer hat eine Idee?


Hier das gekürzte Skript:
Es überschreibt die Anzeige im Profil "Geburtstag".
Habe es im Business (v4) getestet.
Wird eingetragen in "Admin > Layout > Kopf- & Fußzeile → Kopf- oder Fußzeile".

1
2
3
4
5
6
7
8
9
10
11
12
13
 
<script>
$(function(){
var dateVar = $('.titlecell:contains("Geburtsdatum")').next().html();
var dsplit = dateVar.split(" ");
 
const datum = new Date(''+dsplit[2]+''+dsplit[1]+''+dsplit[3]+'');
const wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
let woche = datum.getDay();
let day = wochentag[woche];
 
$('.titlecell:contains("Geburtsdatum")').next().html(''+dsplit[1]+' '+dsplit[2]+' '+dsplit[3]+' - '+day+'');
});
</script>
 




Schon mal besten Dank
Wolfgang

30.08.2023 08:16
#2 RE: Wochentag über das Datum anzeigen
l2
Mitglied

Für die Datumsfunktion sind nur die ersten 3 Buchstaben des Monatsnamen signifikant.
Deswegen wird Januar als gültig erkannt, obwohl January erwartet wird.

die betreffenden Monate musst du dann wohl korrigieren:

1
2
3
4
5
6
 
let m3=dsplit[2].substr(0,3);
if (m3=="Mär" ) dsplit[2]="March";
if (m3=="Mai" ) dsplit[2]="May";
//...
if (m3=="Dez" ) dsplit[2]="dec"; // auch Kurzform sollte reichen
 
 





... würde es „Fussball spielen” heissen

vG Bernd‍

 Antworten

 Beitrag melden
30.08.2023 09:41
#3 RE: Wochentag über das Datum anzeigen
ti
Mitglied

wenn undefiniert wird. ist das meinsten var fehler..
bzw. keine var zur id eingetragen..
es gibt eine vorhandene id aus dem die information genommen werden soll.
was es auch teils undefiniert wurde aber nicht definiert um was es sich handelt =
HTML . Value . Text . Url . Foto.
darum spuckt er dir aus undefiniert.

ich würde sowas mit einem gegenspieler programmieren^^ .
also im hintergrund schon datum uhrzeit tag laufen lassen.
und hat alles über if fragen laufen lassen^^...


 Antworten

 Beitrag melden
30.08.2023 09:43
#4 RE: Wochentag über das Datum anzeigen
ti
Mitglied

wenn undefiniert wird. ist das meinsten var fehler..
bzw. keine var zur id eingetragen..
es gibt eine vorhandene id aus dem die information genommen werden soll.
was es auch teils undefiniert wurde aber nicht definiert um was es sich handelt =
HTML . Value . Text . Url . Foto.
darum spuckt er dir aus undefiniert.

ich würde sowas mit einem gegenspieler programmieren^^ .
also im hintergrund schon datum uhrzeit tag laufen lassen.
und hat alles über if fragen laufen lassen^^...



heißt du könntest dec und die anderen monate extra als var festlegen und dann darüber zugreifen.


 Antworten

 Beitrag melden
30.08.2023 09:49
#5 RE: Wochentag über das Datum anzeigen
ti
Mitglied

const datum = new Date(''+dsplit[2]+''+dsplit[1]+''+dsplit[3]+'');
const wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];


wird dein fehler sein.
du hast das alles zusammen gepackt als (woche)

Wenn du jetzt mit absicht Mittwoch gegen anderen Wochentag austauscht.
zeigt er die statt mittwoch den anderen eingegebenen wochen tag.
wenn das passiert.. nimmt er einfach nur überhaupt eine information aus
const wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];

dann deckt eine var alles ab. was aber getrennt sein soll

kann sehen das du das sortierst. vermute das genau da der Var fehler steckt.
Also der Wochentag Freitag für ungültig ist.


 Antworten

 Beitrag melden
30.08.2023 10:00 (zuletzt bearbeitet: 30.08.2023 10:02)
#6 RE: Wochentag über das Datum anzeigen
ti
Mitglied

eine runder spaziert.
halte doch die restlichen Wochentage als var fest

const wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
let Sonntag = "Sonntag";
let Montag = "Montag";
let Dienstag = "Dienstag";
let Mittwoch = "Mittwoch";
let Donnerstag = "Donnerstag";
let Freitag = "Freitag";
let Samstag = "Samstag";


vermute das wochentag = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
als var erkennt statt wochentag oder text


 Antworten

 Beitrag melden
30.08.2023 10:04
#7 RE: Wochentag über das Datum anzeigen
ti
Mitglied

habt ihr bestimmt nicht gedacht. das ich mich da auch etwas auskenne^^ xD


 Antworten

 Beitrag melden
30.08.2023 10:13
#8 RE: Wochentag über das Datum anzeigen
ti
Mitglied

 Antworten

 Beitrag melden
30.08.2023 10:18
#9 RE: Wochentag über das Datum anzeigen
l2
Mitglied

hatte mir hier #2 schon beim Schreiben gedacht: der März macht bestimmt noch Probleme, deswegen noch eine Ergänzung:

1
 
if (m3=="M&a" ) dsplit[2]="March";
 





... würde es „Fussball spielen” heissen

vG Bernd‍

 Antworten

 Beitrag melden
30.08.2023 10:33
#10 RE: Wochentag über das Datum anzeigen
ti
Mitglied

ich programmier dir eben eine lösung per javascript :-D


habs umgesetzt in Javascript

https://www.allgemeinesforum.de/page-woc...nzeigenbsp.html

kannst über quelltext copy machen.

:-)


 Antworten

 Beitrag melden
30.08.2023 10:42
#11 RE: Wochentag über das Datum anzeigen
ti
Mitglied

wenn du mit die classname oder id der geburtstags anzeige nennst. kann ich das übernehmen.
dann muss man nur noch copy past machen und den output des Wochentags dahin verlegen wo man es möchte


 Antworten

 Beitrag melden
30.08.2023 11:10
#12 RE: Wochentag über das Datum anzeigen
ti
Mitglied

sry das ich dir so viel schreib.
mir ist bei meinem beispiel leider aufgefallen.
das ich eine output variable festlegen muss im benutzer profil .
ansonst kann es die daten nicht entnehmen.
Also da wo man jetzt das datum im moment eingibt.
das muss man ändern in output. und im richtigen bereich einfügen
wenn du Template entwicklung gehst .. und auf mitglieder profil :

suchst du mit strg f = birthday_row
das ist die Forum Variable. die sitzt leider an einer falschen stelle.
für diese verwendung. der bereich ist richtig.
kannst du über mein profil abschauen
https://www.allgemeinesforum.de/u1_tiberian.html
lass id namen wie im beispiel gleich.

<div class="tablecell">{{birthday_today==true.start}} <img src="{{global_birthday}}" style="vertical-align: middle; margin-right: 3px;"><small>{[userprofile_birthday_today]}</small> <hr/>{{birthday_today==true.end}} {{birthday_day}}. {{birthday_month|gettranslation(month)}} {{birthday_year}}</div>
</div>
das der bereich wo der output hinzugefügt werden muss :


<div class="tablecell"><output id="datum">{{birthday_today==true.start}} <img src="{{global_birthday}}" style="vertical-align: middle; margin-right: 3px;"><small>{[userprofile_birthday_today]}</small> <hr/>{{birthday_today==true.end}} {{birthday_day}}. {{birthday_month|gettranslation(month)}} {{birthday_year}}</div>
</output></div>


allerdings muss ich bereich {{birthday_month|gettranslation(month)}} extra anpassen. weil es deutsch ist.
auch wieder mit abfragen arbeiten . anpassen..
hab das entfernt und zum test gerade manuell eingegeben.


https://www.allgemeinesforum.de/u1_tiberian.html

ganz oben eingefügt


 Antworten

 Beitrag melden
30.08.2023 11:39
#13 RE: Wochentag über das Datum anzeigen
ti
Mitglied

habs bei mir komplett umgesetzt muss es nur noch so einfügen wo ich es will..


https://youtu.be/EvzEEW9iTu4

3 - 4 min kann man es anschauen

kurzes video gemacht.
demonstrieren.


 Antworten

 Beitrag melden
30.08.2023 12:18
#14 RE: Wochentag über das Datum anzeigen
ti
Mitglied

so ein mist^^ irgendwie klappt das .. aber nicht auf firefox.
hab wohl ein kleinen bug drin.

hier ist das script / ist komplett braucht man nur im mitglieder profil oben einfügen. in der template entwicklung
http://www.allgemeinesforum.de/page-beis...nctioniret.html

und im video zeig ich den bug
https://youtu.be/6Xh5pjjrHvU


 Antworten

 Beitrag melden
30.08.2023 13:28
#15 RE: Wochentag über das Datum anzeigen
ti
Mitglied

mhm.. gerade mit linux geprüft.
es geht tatsache bei anderen browsern nur firefox macht schwierigkeiten.
muss das nochmal extra aufteilen damit ich das fixen kann. vielleicht einzelnt festlegen.
Firefox macht schwierigkeiten beim übernehmen des Geburtages der Forum Variable.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!