NEWS
"Heute 0:00 Uhr" eleganter berechen
-
@wolfgangfb sagte in "Heute 0:00 Uhr" eleganter berechen:
Ich brauche die Absolutwerte.
also Millisekunden Unixtime?
Da war kein Reden von.@wolfgangfb sagte in "Heute 0:00 Uhr" eleganter berechen:
gestern war das 1677020400000 und morgen wird es 1677193200000 sein.
falls da auch noch Infos zu fehlen sollten:
willst du das auch "heute" berechnen? -
@codierknecht sagte in "Heute 0:00 Uhr" eleganter berechen:
nach meinem Dafürhalten
ein simpler Test könnte dich vom Gegenteil überzeugen...
-
@homoran sagte: Millisekunden Unixtime? Da war kein Reden von.
Man sieht es in Zeile 6 des Skripts.
-
-
@codierknecht sagte in "Heute 0:00 Uhr" eleganter berechen:
var Monat = parseFloat(formatDate(Now, "MM")) - 1;
Liefert doch im Januar eine 0 zurück (da wird ja noch eine 1 abgezogen).
Nein, formatDate(Now, "MM") liefert im Januar eine 1.
Dann wird
var Datum = new Date(Jahr, Monat, Tag, 0, 0).getTime();
krachen, weil nach meinem Dafürhalten mit Monat "0" kein Datum gebildet werden kann.
Doch:
var Datum = new Date(2023, 1, 2, 3, 4).getTime(); console.log(formatDate(Datum, "DD.MM.YYYY hh:mm:ss") + " xxx " + Datum); var Datum = new Date(2023, 0, 2, 3, 4).getTime(); console.log(formatDate(Datum, "DD.MM.YYYY hh:mm:ss") + " xxx " + Datum);
liefert
02.02.2023 03:04:00 xxx 1675303440000 02.01.2023 03:04:00 xxx 1672625040000
Date.getDate liefert 1-31, Date.getMonth daegen 0-11, der Monat ist "0-indexed"
-
@wolfgangfb sagte in "Heute 0:00 Uhr" eleganter berechen:
Date.getDate liefert 1-31, Date.getMonth daegen 0-11, der Monat ist "0-indexed"
Wer macht denn so einen Quatsch?
Ich glaube das "ich lerne JS" lege ich gleich wieder zu den AktenNichtsdestotrotz liefert
return new Date(new Date().toDateString());
das von Dir gewünschte Ergebnis.
-
@fastfoot sagte in "Heute 0:00 Uhr" eleganter berechen:
ein simpler Test könnte dich vom Gegenteil überzeugen...
Auf eine dermaßen abstruse Idee bin ich gar nicht erst gekommen
-
@codierknecht sagte in "Heute 0:00 Uhr" eleganter berechen:
Auf eine dermaßen abstruse Idee bin ich gar nicht erst gekommen
lohnt aber, gerade als blutiger Anfänger
-
@codierknecht sagte: dermaßen abstruse Idee
So abstrus ist es nicht: Man kann so den Monat direkt als Index auf ein Array mit z.B. deutschen Monatsnamen verwenden.
-
Genau wie:
The getDay() method returns the day of the week (0 to 6) of a date. Sunday = 0, Monday = 1, ...
Hier greift dann auch das Array, was @paul53 angeschnitten hat, da man einfach mit:
const weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; const d = new Date(); let day = weekday[d.getDay()]; console.log(day);
Den passenden Namen zu dem Wochentag anzeigen lassen kann
Zero-based index it's called
-
@paul53 sagte in "Heute 0:00 Uhr" eleganter berechen:
Man kann so den Monat direkt als Index auf ein Array mit z.B. deutschen Monatsnamen verwenden.
@skb sagte in "Heute 0:00 Uhr" eleganter berechen:
Den passenden Namen zu dem Wochentag anzeigen lassen kann
Wozu man das dann verwenden kann, ist mir durchaus klar.
Aber das so informatDate()
usw. zu verwenden finde ich persönlich schon reichlich schräg und kenne ich aus anderen Sprachen auch nicht in der Art.
Ich persönlich finde das in höchstem Maße Un-Intuitiv!Beim Wochentag ist das durchaus gebräuchlich ... aber doch nicht beim Monat.
Dann hätte man auch gleich den Tag des Monats 0-basiert machen können, um zumindest konsistent zu bleiben. Aber dann könnte man doch auch beim Jahr .... ach, lassen wir das - hier wird's dann etwas zu sehr OT. -
@fastfoot sagte in "Heute 0:00 Uhr" eleganter berechen:
gerade als blutiger Anfänger
Ich drücke es mal so aus: Ich verdiene mit Softwareentwicklung seit mehr als 20 Jahren meinen Lebensunterhalt ... allerdings nicht mit JS
-
@codierknecht Ist in allen Sprachen Null-Indexiert.
PHP, Java, Javascript, C#, C++ usw
-
@skb sagte in "Heute 0:00 Uhr" eleganter berechen:
Ist in allen Sprachen Null-Indexiert.
Das sehe ich anders ... nur mal einige Beispiele:
https://www.php.net/manual/de/datetime.format.php
https://learn.microsoft.com/de-de/dotnet/api/system.datetime.month?view=net-7.0 -
@codierknecht sagte in "Heute 0:00 Uhr" eleganter berechen:
@skb sagte in "Heute 0:00 Uhr" eleganter berechen:
Ist in allen Sprachen Null-Indexiert.
Das sehe ich anders ... nur mal einige Beispiele:
https://www.php.net/manual/de/datetime.format.php
https://learn.microsoft.com/de-de/dotnet/api/system.datetime.month?view=net-7.0W -> Numerische Darstellung eines Wochentags 0 (für Sonntag) bis 6 (für Samstag) bei PHP
Wäre ja auch doof, wenns nicht ähnlich/gleich wäre. Müsste man ja jedes Mal überlegen.
Welche Sprache schwebt dir denn vor, wo ein Array oder Index mit 1 beginnt?
-
@codierknecht sagte: Tag des Monats 0-basiert machen können
Der Tag hat keinen Namen.
-
@skb sagte in "Heute 0:00 Uhr" eleganter berechen:
Welche Sprache schwebt dir denn vor, wo ein Array oder Index mit 1 beginnt?
Es geht mir nicht um den Index eines Array. Das ist (bis auf vielleicht einige Basic-Dialekte) eigentlich immer 0-basiert. Da bin ich völlig bei Dir.
Es geht mir darum, dass das Ermitteln des Monats im Januar eine 0 liefert.
Und das ist in nahezu allen mir bekannten Sprachen halt anders.
Wie auch immer man den Monat ermittelt - im Januar erwartet so ziemlich jeder Entwickler in ziemlich jeder beliebigen Sprache eine 1 und keine 0. Das ist intuitiv. Um dann damit auf ein Array zuzugreifen ziehe ich halt noch 1 ab. Auch das ist intuitiv und muss keinem beim Lesen des Code erklärt werden.@paul53 sagte in "Heute 0:00 Uhr" eleganter berechen:
Der Tag hat keinen Namen.
Für mich trotzdem eine recht lahme Begründung, bei der Ermittlung des Monats im Januar eine 0 zu liefern. Siehe oben.
-
@codierknecht sagte in "Heute 0:00 Uhr" eleganter berechen:
...allerdings nicht mit JS
eben, hier im Forum geht es aber um JS und da hast Du nunmal ein irre grosses Entwicklungspotential.
No offence, alles ist gut, war auch nnicht böse gemeint. Du hast es aber geradezu herausgefordert
-
@codierknecht Konstante beginnen immer bei Null, das ist intuitiv, statt noch -1.
Welche Sprache nimmst Du denn, wo der Monat mit 1 beginnt?
Beispiel?
-
@skb sagte in "Heute 0:00 Uhr" eleganter berechen:
Welche Sprache nimmst Du denn, wo der Monat mit 1 beginnt?
Siehe oben.
C. C++, C#, PHP, Delphi ... such Dir was aus
Wenn ich den Monat eines Datums bestimme, bekomme ich im Januar eine 1 und keine 0.