回答:
Dateオブジェクトをチェックアウトする必要があります。
特に、DateオブジェクトのgetHours()メソッドを確認できます。
getHours()は0〜23の時間を返すので、それに応じて必ず対処してください。ミリタリータイムは0-23なので、0-23は少し直感的ですが、それはあなた次第です。
このことを念頭に置くと、コードは次のようになります。
var date = new Date();
var current_hour = date.getHours();
この関数は、日付と時刻を次の形式で返しますYYYY:MM:DD:HH:MM:SS
。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
あなたが返され、一方:2020:06:10:00:12:35
それは、タイムゾーンの調整を考慮していないようです。
moment.js
ライブラリをチェックしてください。ブラウザとNode.JSで動作します。あなたが書くことができます
moment().hour();
または
moment().hours();
関数の事前の記述なし。
以前の両方の答えは間違いなく良い解決策です。ライブラリに慣れている場合は、moment.jsが好きです。日付を取得/フォーマットするだけではありません。
日付を処理するネイティブメソッドがあります
const date = new Date();
let hours = date.getHours();
時間文字列だけが必要な場合は、この式を(単純な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 )
月、日、年の日付を表示します
私のインスタンスでは、それをグローバルとして使用し、その後、何時間の運用の時間チェックのためにそれを呼び出しました。
以下は私のindex.jsからです
global.globalDay = new Date().getDay();
global.globalHours = new Date().getHours();
別のファイルからグローバルの値を呼び出すには
/*
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!");
}
PSTタイムゾーンでノードを起動するには、ubuntuで次のコマンドを使用します。
TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start &
次に、日付ライブラリを参照して、ノードのカスタム計算の日付と時刻関数を取得できます。
クライアント側で使用するには、このリンクを参照し、index.jsとassertHelper.jsをダウンロードして、HTMLに含めます。
<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
}
例に示すように、さまざまな関数を使用してカスタム日付を取得できます。
週の最初の日が日曜日の場合、2015年6月15日は何曜日になります。
DateLibrary.getDayOfWeek(new Date("2015-06-15"),
{operationType:"Day_Number_of_Week",
startDayOfWeek:"Sunday"}) // Output : 1
週の最初の日が火曜日である場合、年の何週目が日付の1つとして2015年6月15日に続くか。
DateLibrary.getWeekNumber(new Date("2015-06-15"),
{operationType:"Week_of_Year",
startDayOfWeek:"Tuesday"}) // Output : 24
カスタム日付要件を満たすために他の関数を参照してください。