Jawaban:
Anda harus memeriksa objek Tanggal .
Secara khusus, Anda bisa melihat metode getHours () untuk objek Tanggal.
getHours () mengembalikan waktu dari 0 - 23, jadi pastikan untuk menanganinya dengan tepat. Saya pikir 0-23 sedikit lebih intuitif karena waktu militer berjalan dari 0 - 23, tetapi terserah Anda.
Dengan pemikiran tersebut, kode tersebut akan menjadi sesuatu di sepanjang baris:
var date = new Date();
var current_hour = date.getHours();
Fungsi ini akan mengembalikan Anda tanggal dan waktu dalam format berikut: YYYY:MM:DD:HH:MM:SS
. Ia juga bekerja di 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
sedangkan, milik Anda mengembalikan: 2020:06:10:00:12:35
Sepertinya itu tidak mempertimbangkan penyesuaian zona waktu.
Lihat moment.js
perpustakaan. Ia bekerja dengan browser serta dengan Node.JS. Memungkinkan Anda untuk menulis
moment().hour();
atau
moment().hours();
tanpa menulis fungsi apa pun sebelumnya.
Kedua jawaban sebelumnya jelas merupakan solusi yang baik. Jika Anda setuju dengan perpustakaan, saya suka moment.js - itu lebih dari sekadar mendapatkan / memformat tanggal.
Ada metode asli untuk bekerja dengan tanggal
const date = new Date();
let hours = date.getHours();
Jika Anda hanya menginginkan string waktu, Anda dapat menggunakan ekspresi ini (dengan RegEx sederhana):
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 )
Ini akan menampilkan tanggal dalam bulan, hari, lalu tahun
Sebagai contoh, saya menggunakannya sebagai global dan kemudian memanggilnya untuk pemeriksaan waktu kapan jam operasi.
Di bawah ini dari index.js saya
global.globalDay = new Date().getDay();
global.globalHours = new Date().getHours();
Untuk memanggil nilai global dari file lain
/*
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!");
}
Untuk memulai node Anda di zona waktu PST, gunakan perintah berikut di ubuntu.
TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start &
Kemudian Anda dapat merujuk Perpustakaan Tanggal untuk mendapatkan fungsi tanggal dan waktu kalkulasi khusus di node.
Untuk menggunakannya di sisi klien, lihat tautan ini , unduh index.js dan assertHelper.js, lalu sertakan di HTML Anda.
<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
}
Anda dapat menggunakan fungsi yang berbeda seperti yang diberikan dalam contoh untuk mendapatkan tanggal khusus.
Jika hari pertama dalam seminggu adalah Minggu, maka tanggal 15 Juni 2015.
DateLibrary.getDayOfWeek(new Date("2015-06-15"),
{operationType:"Day_Number_of_Week",
startDayOfWeek:"Sunday"}) // Output : 1
Jika hari pertama dalam seminggu adalah Selasa, maka angka minggu dalam tahun akan diikuti pada tanggal 15 Juni 2015 sebagai salah satu tanggal.
DateLibrary.getWeekNumber(new Date("2015-06-15"),
{operationType:"Week_of_Year",
startDayOfWeek:"Tuesday"}) // Output : 24
Lihat fungsi lain untuk memenuhi persyaratan tanggal kustom Anda.