Antworten:
Sie sollten das Date-Objekt auschecken .
Insbesondere können Sie sich die Methode getHours () für das Date-Objekt ansehen .
getHours () gibt die Zeit von 0 bis 23 zurück. Gehen Sie also entsprechend damit um. Ich denke, 0-23 ist etwas intuitiver, da die Militärzeit von 0 bis 23 läuft, aber es liegt an Ihnen.
In diesem Sinne wäre der Code etwas in der Art von:
var date = new Date();
var current_hour = date.getHours();
Diese Funktion gibt Datum und Uhrzeit im folgenden Format zurück : YYYY:MM:DD:HH:MM:SS
. Es funktioniert auch in Node.js.
function getDateTime() {
var date = new Date();
var hour = date.getHours();
hour = (hour < 10 ? "0" : "") + hour;
var min = date.getMinutes();
min = (min < 10 ? "0" : "") + min;
var sec = date.getSeconds();
sec = (sec < 10 ? "0" : "") + sec;
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = (month < 10 ? "0" : "") + month;
var day = date.getDate();
day = (day < 10 ? "0" : "") + day;
return year + ":" + month + ":" + day + ":" + hour + ":" + min + ":" + sec;
}
(new Date()).toJSON().slice(0, 19).replace(/[-T]/g, ':')
2020:06:10:10:12:35
während Ihre zurückgegeben hat: 2020:06:10:00:12:35
Es scheint, dass Zeitzonenanpassungen nicht berücksichtigt wurden.
Überprüfen Sie die moment.js
Bibliothek. Es funktioniert sowohl mit Browsern als auch mit Node.JS. Ermöglicht das Schreiben
moment().hour();
oder
moment().hours();
ohne vorheriges Schreiben von Funktionen.
Es gibt eine native Methode, um mit Datum zu arbeiten
const date = new Date();
let hours = date.getHours();
Wenn Sie nur die Zeitzeichenfolge möchten, können Sie diesen Ausdruck verwenden (mit einem einfachen RegEx):
new Date().toISOString().match(/(\d{2}:){2}\d{2}/)[0]
// "23:00:59"
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = (month < 10 ? "0" : "") + month;
var hour = date.getHours();
hour = (hour < 10 ? "0" : "") + hour;
var day = date.getDate();
day = (hour > 12 ? "" : "") + day - 1;
day = (day < 10 ? "0" : "") + day;
x = ":"
console.log( month + x + day + x + year )
Es wird das Datum im Monat, Tag und dann im Jahr angezeigt
In meinem Fall habe ich es als globales System verwendet und es dann aufgerufen, um zu überprüfen, wann die Betriebsstunden sind.
Unten ist aus meinem index.js
global.globalDay = new Date().getDay();
global.globalHours = new Date().getHours();
So rufen Sie den globalen Wert aus einer anderen Datei auf
/*
Days of the Week.
Sunday = 0, Monday = 1, Tuesday = 2, Wensday = 3, Thursday = 4, Friday = 5, Saturday = 6
Hours of the Day.
0 = Midnight, 1 = 1am, 12 = Noon, 18 = 6pm, 23 = 11pm
*/
if (global.globalDay === 6 || global.globalDay === 0) {
console.log('Its the weekend.');
} else if (global.globalDay > 0 && global.globalDay < 6 && global.globalHours > 8 && global.globalHours < 18) {
console.log('During Business Hours!');
} else {
console.log("Outside of Business hours!");
}
Verwenden Sie den folgenden Befehl in Ubuntu, um Ihren Knoten in der PST-Zeitzone zu starten.
TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start &
Anschließend können Sie auf die Datumsbibliothek verweisen , um die benutzerdefinierten Berechnungsdaten für Datum und Uhrzeit im Knoten abzurufen.
Um es clientseitig zu verwenden, verweisen Sie auf diesen Link , laden Sie index.js und assertHelper.js herunter und fügen Sie diese in Ihren HTML-Code ein.
<script src="assertHelper.js"></script>
<script type="text/javascript" src="index.js"></script>
$( document ).ready(function() {
DateLibrary.getDayOfWeek(new Date("2015-06-15"),{operationType:"Day_of_Week"}); // Output : Monday
}
Sie können verschiedene Funktionen verwenden, wie in den Beispielen angegeben, um benutzerdefinierte Daten abzurufen.
Wenn der erste Wochentag Sonntag ist, welcher Tag ist der 15. Juni 2015?
DateLibrary.getDayOfWeek(new Date("2015-06-15"),
{operationType:"Day_Number_of_Week",
startDayOfWeek:"Sunday"}) // Output : 1
Wenn der erste Wochentag Dienstag ist, folgt die Wochennummer im Jahr am 15. Juni 2015 als Datum.
DateLibrary.getWeekNumber(new Date("2015-06-15"),
{operationType:"Week_of_Year",
startDayOfWeek:"Tuesday"}) // Output : 24
Verweisen Sie auf andere Funktionen, um Ihre benutzerdefinierten Datumsanforderungen zu erfüllen.