Erhalten Woche des Jahres in JavaScript wie in PHP
Wie bekomme ich die aktuelle Wochennummer des Jahres, wie PHP ' s date('W')
?
Sollte es sein, die ISO-8601 - Nummer der Woche des Jahres -, Wochen-beginnend am Montag.
Aussehen <a href="javascript.about.com/library/blweekyear.htm"> <b>hier</b></a>, das war der erste link, wenn ich gegoogelt 'javascript-Woche des Jahres'.
+1 Lol! Das ist, wo ich das snippet von mir, aber ich konnte mich nicht erinnern, die Quelle ich habe es vor einer Weile.
Code erhält 22 als die aktuelle Woche. Dabei sollte es werden 21
Nopez ein einfaches -1 wird nicht den trick tun :P, der nicht der ISO-8601 Wochennummer. Eine Woche im ISO-8601 beginnt am Montag. Die erste Woche ist die Woche mit dem ersten Donnerstag im es. en.wikipedia.org/wiki/ISO-8601 . PS war nicht ich, wer downvoted Sie.
+1 Lol! Das ist, wo ich das snippet von mir, aber ich konnte mich nicht erinnern, die Quelle ich habe es vor einer Weile.
Code erhält 22 als die aktuelle Woche. Dabei sollte es werden 21
Nopez ein einfaches -1 wird nicht den trick tun :P, der nicht der ISO-8601 Wochennummer. Eine Woche im ISO-8601 beginnt am Montag. Die erste Woche ist die Woche mit dem ersten Donnerstag im es. en.wikipedia.org/wiki/ISO-8601 . PS war nicht ich, wer downvoted Sie.
InformationsquelleAutor PeeHaa | 2011-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie momentjs Bibliothek auch:
moment().format('W')
moment().week()
InformationsquelleAutor sixdays
Accordily http://javascript.about.com/library/blweekyear.htm
ich denke, da dies Hinzugefügt, um die Prototyp-es ist, was Sie erwarten würde als Datum behandelt Sonntag als der erste Tag.
Nicht diese Probleme auf Sommerzeit Tagen? Ich denke, es wird nicht Voraus bis 1 Uhr im Sommer.
Auch, nicht dieses technisch nicht Voraus, die in der Woche bis 0:00:00.001? Besser zu verwenden Math.Boden?
InformationsquelleAutor orafaelreis
Wie oben gesagt, aber ohne Klasse:
Dies ist die einzige Antwort, die holt sich die korrekte Nummer der Woche noch für die erste Woche eines Jahres.
Dieser ist einfach und funktioniert.
Hinweis: gehen Sie
(now.getTime() - onejan.getTime())
zu vermeiden, Probleme mit dem build.Die Frage, die gestellt wird für die ISO 8601, die dies ignoriert. Als eine Antwort auf die Frage ist einfach falsch
InformationsquelleAutor nvd
Jacob Wright ist
Datum.format()
Bibliothek implementiert die Formatierung des Datums im Stil von PHPdate()
- Funktion und unterstützt das ISO-8601 Wochennummer:Es ist vielleicht ein bisschen übertrieben für nur eine Woche, aber es unterstützt die PHP-Formatierung und ist ganz praktisch, wenn Sie werden tun eine Menge von dieser.
InformationsquelleAutor Brad Koch
Folgenden code timezone-unabhängig (UTC Datumsangaben verwendet) und arbeitet nach dem https://en.wikipedia.org/wiki/ISO_8601
InformationsquelleAutor Dmitry Volokh
Dadurch wird "getWeek" - Methode, um Datum.Prototypen gibt die Nummer der Woche von Anfang des Jahres. Das argument legt fest, welcher Tag in der Woche zu berücksichtigen, die ersten. Wenn kein argument übergeben, der erste Tag ist davon auszugehen Sonntag.
new Date(Date.UTC(2018,11, 31)).getWeek(1)+1
(Montag ist der 1. Tag der Woche in Deutschland).Das ist, wie es beabsichtigt war, und das ist, glaube ich, die meisten nutzen eher Fall. Ansonsten die ersten 3 Tage 2016 fallen würde aus. Ersten Tagen des Monats sind als aus der ersten Woche für diesen Monat, gleichgültig, welche und wie viele Tage es sind. Wenn Sie benötigen die Funktion, die anders funktioniert, können Sie zwicken Sie nach Ihren Bedürfnissen. Ebenso, wenn eine Woche fällt, in die sowohl das jeweilige Jahr und die folgenden Jahre, kann es als die Letzte Woche des Jahres sowie in der ersten Woche des folgenden Jahres (entsprechend der aktuellen Logik).
Danke für die info. Ich landete mit RobG-Lösung, die implementiert nach ISO8601 Woche Termine korrekt (letzten Tage im Dezember und die ersten Tage im Januar gehören zu Woche 52, 53 oder 1: en.m.wikipedia.org/wiki/ISO_week_date
InformationsquelleAutor Tigran
Holen Sie sich die Wochennummer eines bestimmten Datum
Beispiel
InformationsquelleAutor Hans Petersen
Fand ich hilfreich, den Java SE " = SimpleDateFormat Klasse beschrieben, die auf der Oracle-Spezifikation:
http://goo.gl/7MbCh5. In meinem Fall im Google Apps-Skript funktionierte es so:
Beispielsweise in einer Tabellenkalkulation-makro können Sie abrufen der aktuellen Zeitzone von der Datei:
InformationsquelleAutor Balu Ertl
Wenn Sie bereits in einer Eckigen Projekt, das Sie verwenden könnte,
$filter('date')
.Beispiel:
InformationsquelleAutor Gabriel Furstenheim
Den code unten berechnet den korrekten ISO-8601-Wochennummer. Es entspricht der PHP -
date("W")
für jede Woche zwischen 1/1/1970 und 1/1/2100.Quelle: Taco van den Broek
Wenn Sie nicht in die Verlängerung Prototypen, dann ist hier eine Funktion:
Beispiel für die Nutzung:
+6 ) % 7
Teil tut. Danke von einem Peeling!ISO-Woche beginnt an einem Montag, aber JavaScript
getDay()
startet am Sonntag, wenn Sie so wollen, es zu starten, am Sonntag dann Sie können entfernen Sie die Korrektur:var nDay = date.getDay();
Ich habe versucht, über 8 verschiedene JS-Implementierungen der erste Woche Anzahl. Dies ist die einzige Funktion, die funktioniert, aber nur wenn ich alle Getter und setter zu getUTC.. und setUTC.. weiß auch nicht warum. Ich wurde getestet mit diesem: 2017-07-17T00:00:00.000 Z (Woche 29) 2017-07-23T23:59:59.000 Z (Woche 29) 2021-01-04T00:00:00.000 Z (Woche 1)
InformationsquelleAutor thdoan
Hier ist meine Umsetzung für die Berechnung der Wochennummer in JavaScript. korrigiert für Sommer-und winter-Zeit-offsets als gut.
Ich verwendet die definition in der Woche von diesem Artikel: ISO 8601
Wochen sind von Montag bis Sonntag, der 4. Januar immer in die erste Woche des Jahres.
zum testen verwendete ich die folgende JavaScript-tests in Qunit
InformationsquelleAutor martijn
Diese Woche Anzahl Ding ist ein echter Schmerz im a**. Die meisten Scripte im Netz hat bei mir nicht funktioniert. Sie arbeiteten die meiste Zeit, aber alle von Ihnen brachen in einigen, besonders dann, wenn Jahr geändert und Letzte Woche des Jahres war plötzlich im nächsten Jahr die erste Woche, etc. Auch Angular date filter zeigte falsche Werte an (es war der 1. Woche des nächsten Jahres, eckige Woche gab 53).
Hinweis: Beispiele sind speziell für die Arbeit mit den europäischen Wochen (Mo erste)!
getWeek()
setDay()
getDayIndex()
Habe ich getestet und es scheint zu funktionieren sehr gut, aber wenn Sie feststellen, ein Fehler in es, lassen Sie es mich bitte wissen.
InformationsquelleAutor Spacha
Habe ich versucht, eine Menge zu bekommen, den kürzesten code, um die Wochennummer nach ISO-konform.
Die variable
date
ist notwendig, um zu vermeiden, zu ändern, die originalthis
. Ich verwendet die return-Werte dersetDate()
undsetMonth()
zu verzichtengetTime()
zu sparen code-Länge und ich habe eine expontial-Nummer für Millisekunden ein Tag anstelle von einer Multiplikation der einzelnen Elemente oder eine Zahl mit fünf Nullen.this
ist das Datum, oder die Anzahl der Millisekunden, Rückgabewert istString
z.B. "49/2017".InformationsquelleAutor Sven Huber
InformationsquelleAutor Le Dang Duong
Den code-snippet, das funktioniert ziemlich gut für mich, ist dieses hier:
Beachten:
d
ist meine Date, für die möchte ich die aktuelle Nummer der Woche.Die
+
wandelt die Datumsangaben in zahlen (arbeiten mit Typoskript).InformationsquelleAutor Vasco