Gunnar Bittersmann: Zeitstempel / Millisekunden des jeweilis vorherigen Tages

Beitrag lesen

@@bello1234:

nuqneH

Beispiel: Das Script wird am 25.08.2010 ausgeführt. Also sollen die "Start- und End-Millisekunden" vom 24.08.2010 als Ergebnis rauskommen:

Start, 24.08.2010, 00.00 Uhr   -->   1282600800

Nein, es sind tausendmal so viele:      1282600800000.

Ende,  24.08.2010, 23.59 Uhr   -->   1282687199

Nein, 23:59:00 ist:                     1282687140000

Du meinst 23:59:59?

Und wie kommst du darauf? Der Tag ist noch eine Sekunde länger – bis 24:00:00, was der Beginn des neuen Tages ist.

var tag = Zeit.getDate() - (1);

Wo kommt 'Zeit' her?

Wozu die Klammern um die 1?

Das ist nicht wirklich schön, wenn es gerade der 1. Tag des Monats ist. dann kommt der nullte Tag raus.

// Vorheriger Tag
var monat = Zeit.getMonth();
// Aktueller Monat
var jahr = Zeit.getYear();
// Aktuelles Jahr
var letzterTag = new Date(jahr, monat, tag);

Und ein neues Datumsobjekt zu erzeugen muss auch nicht sein.

Nimm das aktuelle:

var Zeit = new Date();   // aktueller Zeitpunkt  
Zeit.setHours(0);        // heutiger Tagesanfang: 00:00:00.000  
Zeit.setMinutes(0);  
Zeit.setSeconds(0);  
Zeit.setMilliseconds(0);

Dann hast du in 'Zeit.getTime()' den Zeitstempel des gestrigen Tages 24:00:00.

Um den den Zeitstempel des gestrigen Tages 00:00:00 zu erhalten, musst du wieviele Millisekunden abziehen?

Ansätze wie z.B. mit getTime() liefen komplett daneben, daher lohnt sich diese auch nicht zu posten.

Ach so?

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)