gegeben ein Datum Objekt, wie man den ersten Tag der vorherigen Woche erhaltenWie erhalte ich den ersten Tag der vorherigen Woche von einem Datumsobjekt in JavaScript?
Antwort
Diese Datejs library sieht aus wie es so etwas relativ leicht tun kann.
wow diese Bibliothek ist genial! – arahaya
Code:
function getPreviousSunday()
{
var today=new Date();
return new Date().setDate(today.getDate()-today.getDay()-7);
}
function getPreviousMonday()
{
var today=new Date();
if(today.getDay() != 0)
return new Date().setDate(today.getDate()-7-6);
else
return new Date().setDate(today.getDate()-today.getDay()-6);
}
Reasoning:
Hängt was man von vergangener Woche ersten Tag bedeutet. Ich nehme an, du meintest letzten Sonntag wegen dieser Diskussion.
die Anzahl der Tage, um Sie zu subtrahieren:
- Holen Sie sich den aktuellen Tag der Woche.
- Wenn der aktuelle Tag der Woche Sonntag subtrahieren Sie 7 Tage
- Wenn der aktuelle Tag Montag Sie 8 Tage ist
...
- subtrahieren Wenn der aktuelle Tag ist Samstag 13 Tage
der eigentliche Code, wenn Sie die Anzahl der Tage bestimmen zu subtrahieren ist einfach:
var previous_first_day_of_week=new Date().setDate(today.getDate()-X);
Wo X ist der oben diskutierte Wert. Dieser Wert ist today.getDay() + 7
Wenn Sie am ersten Tag der Woche etwas anderes gemeint haben, sollten Sie in der Lage sein, die Antwort aus den obigen Schritten abzuleiten.
Hinweis: Es ist zulässig, negative Werte an die setDate-Funktion zu übergeben, und sie funktioniert ordnungsgemäß.
Für den Code über Montag. Sie haben diesen Sonderfall, weil getDay() Sonntag vor Montag bestellt. Also ersetzen wir getDay() in diesem Fall mit dem Wert von samstagday + 1 von getDay(), um den Sonntag bis zum Ende der Woche neu zu ordnen.
Wir verwenden den Wert 6 für die Subtraktion mit Montag, weil getDay() für jeden Tag 1 höher zurückgibt, als wir wollen.
Erster Tag der Woche kann entweder Sonntag oder Montag sein, je nachdem in welchem Land Sie sind in:
function getPrevSunday(a) {
return new Date(a.getTime() - ((7+a.getDay())*24*60*60*1000));
};
function getPrevMonday(a) {
return new Date(a.getTime() - ((6+(a.getDay()||7))*24*60*60*1000));
};
Wenn Sie eine dateobject zum vorherigen Sonntag einstellen möchten Sie verwenden können:
a.setDate(a.getDate()-7-a.getDay());
und für den vorherigen Montag:
a.setDate(a.getDate()-6-(a.getDay()||7));
function previousWeekSunday(d) {
return new Date(d.getFullYear(), d.getMonth(), d.getDate() - d.getDay() - 7);
}
function previousWeekMonday(d) {
if(!d.getDay())
return new Date(d.getFullYear(), d.getMonth(), d.getDate() - 13);
return new Date(d.getFullYear(), d.getMonth(), d.getDate() - d.getDay() - 6);
}
Ich habe die Beiträge anderer Leute nicht verstanden. Hier ist das Javascript, das ich verwende, um eine Sun-Sat-Woche relativ zu einem bestimmten Tag anzuzeigen.So zum Beispiel, um „letzte Woche“ Sie überprüfen, was die Sonne/Sa Torpfosten vor bis sieben Tagen relativ waren: new Date()-7
// variables
var comparedate = new Date()-7; // a week ago
var dayofweek = comparedate.getDay();
// just for declaration
var lastdate;
var firstadate;
// functions
function formatDate (dateinput) // makes date "mm/dd/yyyy" string
{
var month = dateinput.getMonth()+1;
if(month < 10) { month = '0' + month }
var date = dateinput.getDate();
if(date < 10) { var date = '0' + date }
var dateoutput = month + '/' + date + '/' + dateinput.getFullYear();
return dateoutput;
}
// Sunday to Saturday ... Sunday is the firstdate, Saturday is the lastdate
// (modify this block if you want something different eg: Monday to Sunday)
if (dayofweek == 6) { lastdate = comparedate; firstdate = comparedate-6; } // Saturday
else if (dayofweek == 0) { lastdate = comparedate+6; firstdate = comparedate; } // Sunday
else if (dayofweek == 1) { lastdate = comparedate+5; firstdate = comparedate-1; } // Monday
else if (dayofweek == 2) { lastdate = comparedate+4; firstdate = comparedate-2; } // Tuesday
else if (dayofweek == 3) { lastdate = comparedate+3; firstdate = comparedate-3; } // Wednesday
else if (dayofweek == 4) { lastdate = comparedate+2; firstdate = comparedate-4; } // Thursday
else if (dayofweek == 5) { lastdate = comparedate+1; firstdate = comparedate-5; } // Friday
// Finish
var outputtowebpage = formatDate(firstdate) + ' - ' + formatDate(lastdate);
document.write(outputtowebpage);
Ich habe diese jedes Mal sehen Ich brauche es zu tun . Also hoffe ich, dass dies für andere hilfreich ist.
Wenn ich es "relativ zu einem bestimmten Tag" mache, kann ich Dinge tun, bei denen der Kunde etwas wie "ein Werkzeug, das nach Woche abgeschlossene Dinge aufschlüsselt", tun kann, aber alles, was ich habe, ist das fertiggestellte Datum im Datensatz Daher muss der Code eine Menge relativer Wochennamen im laufenden Betrieb generieren. – undrline
Ich habe Ihren Code in SailsJS ausprobiert und ich habe 'TypeError: compatedate.getDay ist keine Funktion' –
@Lexynux, ich kenne SailsJS nicht. Wenn Sie sicher sind, dass der Vergleichswert beide Male gleich geschrieben wird, ist es möglich, dass er beim Erstellen der Variablen nicht 7 abzieht. Versuchen Sie etwas wie: 'var comparedate = new Date(); // heute verglichen - = 7; // vor einer Woche var dayofweek = comparedate.getDay(); ' – undrline
In den anderen Beispielen werden Sie ein Problem haben, wenn der Sonntag in einem anderen Monat fällt. Dies sollte das Problem lösen:
var today, todayNumber, previousWeek, week, mondayNumber, monday;
today = new Date();
todayNumber = today.getDay();
previousWeek = -1; //For every week you want to go back the past fill in a lower number.
week = previousWeek * 7;
mondayNumber = 1 - todayNumber + week;
monday = new Date(today.getFullYear(), today.getMonth(), today.getDate()+mondayNumber);
- 1. Erhalten Sie ersten und letzten Tag der vorherigen Woche
- 2. Ändern ersten Tag der Woche in NSDateFormatter
- 3. wo Mysql ersten Tag der Woche festlegen?
- 4. ersten Tag der Woche größer als x
- 5. Ändern von POSIXct Datumsvalues auf den ersten Tag jeder Woche
- 6. Wie bekomme ich den aktuellen Tag der Woche in vimscript?
- 7. Woche Anfang (Montag) für vorherigen Tag
- 8. Wie bekomme ich den vorherigen Tag-Namen?
- 9. Wie bekomme ich den ersten Tag und den letzten des vorherigen Monats mit sql
- 10. Konvertieren von Datum zu einem Tag der Woche in R
- 11. Wie finden Sie den nächsten Tag der Woche in PHP?
- 12. Erster Tag dieser Woche und letzte Woche
- 13. RapidMiner Tag der Woche abrufen
- 14. Wie kann ich den ersten Tag und Woche für Bootstrap Datumsauswahl gesetzt
- 15. Wie bekomme ich "den Tag vor einem Datum" in Javascript?
- 16. Anfangs- und Enddatum der vorherigen Woche berechnen
- 17. So stellen Sie den "ersten Tag der Woche" auf Donnerstag in PHP ein
- 18. Erhalten Sie den ersten Tag der aktuellen Woche basierend auf einer bestimmten Datumsvariable
- 19. Moment.js erster Tag der Woche falsch
- 20. Wie Javascript-Datumsobjekt zu vereinfachen?
- 21. Wie bekomme ich den ersten und letzten Tag der aktuellen Woche, wenn sich die Tage in verschiedenen Monaten befinden?
- 22. Warum getDay() in Javascript +1 Tag der Woche zurückgeben?
- 23. Wie erhalte ich den ersten Wochentag für das aktuelle Gebietsschema? (PHP/L8N)
- 24. So extrahieren Sie den vorherigen Tag-Text
- 25. jeden Tag der Woche von Nsdate bekommen?
- 26. PHP DateTime() -Klasse, ändern Sie den ersten Tag der Woche auf Montag
- 27. Wie erhalte ich den Namespace von einem Pod in OpenShift?
- 28. Wie erhalte ich den Dateinamen von einem Verzeichnisnamen in Ant?
- 29. moment.js, wie Tag der Woche Zahl erhalten
- 30. Erhalte den Unix-Zeitstempel von Mitternacht des vorherigen Mittwochs
Er fragt jedes Mal etwas andere Fragen. OP, weißt du überhaupt welche Sprache du schreiben sollst? –
nein, früher ich fragte nach vorherigem Monat –
was machst du an meinem ersten Tag? Sonntag? –