Javascript Tageszähler?


31.12.2021, 13:59

Also will ich, dass heute 1, morgen 2 ümo 3 usw.. auf meiner Website steht, sodass ich diesen Wert mit Python requesten kann.

Lezurex  31.12.2021, 13:56

Ich verstehe noch nicht genau, was dein Ziel ist. Kannst du genauer beschreiben, weshalb du das machen willst?

CrazyChicken334 
Fragesteller
 31.12.2021, 13:59

Ich habe vor mit Python einen Request an meine eigene Website zu schicken. Der Script auf der Website soll pro Tag um eins nach oben zählen.

1 Antwort

const oneDay = 24 * 60 * 60 * 1000;
const firstDate = new Date(2008, 1, 12);
const secondDate = Date.now();

const diffDays = Math.round((firstDate - secondDate) / oneDay);

In diffDays steht dann immer, wieviele Tage schon vergangen sind.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
KarlRanseierIII  31.12.2021, 15:05

Besser wird es in JS wohl nicht gehen.

1
CrazyChicken334 
Fragesteller
 31.12.2021, 15:06

Aber ich will ja einen konstanten wert erhöhen, wenn ein tag vergangen ist.. Da kommen 2 Fragen auf:
1. Wie mach ich diese Konstante Variable? Wie kann ich den neuen Wert in die Textdatei schreiben?

  1. Wie definiere ich dann die Werterhöhung? Alle 24 Stunden?
0
MrAmazing2  31.12.2021, 15:07
@CrazyChicken334

JS läuft im Browser jedes Nutzers, und zwar auch nur wenn er die Seite offen hat.

Das irgendwie anders zu machen als in meinem Vorschlag macht also garkeinen Sinn.

Klar kannst du den Wert in localstorage speichern, aber das Erhöhen kann halt dann trotzdem nur gemacht werden wenn man die Seite offen hat. Und dann muss halt irgendwie festgestellt werden wieviel Zeit seit dem letzten Erhöhen verging (vlt mehrere Tage)

Machs wie oben und speichere den Startzeitpunkt in localstorage.

1
CrazyChicken334 
Fragesteller
 31.12.2021, 15:10
@MrAmazing2

Oh.. hmm
Was wäre dann eine Lösung? Es soll die Stunden halt durchgehend überprüfen.. :/

0
MrAmazing2  31.12.2021, 15:12
@CrazyChicken334

Zu welchem Zweck brauchst du das ganze denn?

Was ist der Sinn hinter „heute 1, morgen 2, ümo 3, …“ und dass du das ganze beim Client zählen willst?

Oder ist es garnicht beim Client sondern du hast einen Node.js Server?

Vielleicht kann ich dir dann eine bessere Lösung nennen, wenn du mir sagst wofür das ist.

0
CrazyChicken334 
Fragesteller
 31.12.2021, 15:18
@MrAmazing2

Also:
Ich möchte mit Python einen counter haben, der jeden Tag ab heute mitzählt.
Also ich will mit Python dann z.B meinen Discordstatus auf "Tag 1" usw.. setzen. (ich würde den python script dann auf replit zum laufen bringen. dann würde der dauerhaft laufen.) Das mit Nodejs hab ich selbst noch nicht so ganz verstanden. Daher wollte ich es in Javascript machen, was aber ja nicht möglich ist..
Wäre es möglich den wert auch in Python direkt in eine Textdatei zu schreiben und den dann daraus einbinden? (ich hoffe ich hab das nicht wieder zu unverständlich erklärt)

0
MrAmazing2  31.12.2021, 15:49
@CrazyChicken334

Ah, ich verstehe. Ja, da wäre es schlauer das direkt alles in Python zu machen, anstatt Server + Request + ...

Du kannst das Start-Datum in eine Textdatei speichern und auslesen.

Führe einfach diesen Python Code immer aus, wenn du den aktuellen Tag wissen willst.

Er gibt dir zum Beispiel "Tag 2" aus. (d1 - d0).days + 1 ist die Nummer des Tages. Das kannst du nach belieben weiterleiten wohin du es brauchst.

from datetime import datetime

try:
  with open("startdate.txt", "r") as f:
    d0 = datetime.strptime(f.read(), "%d %B, %Y")
except:
  with open("startdate.txt", "w+") as f:
    f.write(datetime.now().strftime("%d %B, %Y"))
    d0 = datetime.now()
d1 = datetime.now()
print("Tag " + str((d1 - d0).days + 1))
1