Respuestas:
Debería comprobar el objeto Date .
En particular, puede mirar el método getHours () para el objeto Date.
getHours () devuelve el tiempo de 0 a 23, así que asegúrese de manejarlo en consecuencia. Creo que 0-23 es un poco más intuitivo ya que el tiempo militar va de 0 a 23, pero depende de usted.
Con eso en mente, el código sería algo así como:
var date = new Date();
var current_hour = date.getHours();
Esta función le devolverá la fecha y la hora en el formato siguiente: YYYY:MM:DD:HH:MM:SS. También funciona en 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:35mientras que el suyo devolvió: 2020:06:10:00:12:35 Parece que no consideró los ajustes de zona horaria.
Echa un vistazo a la moment.jsbiblioteca. Funciona tanto con navegadores como con Node.JS. Te permite escribir
moment().hour();
o
moment().hours();
sin escritura previa de ninguna función.
Hay un método nativo para trabajar con la fecha.
const date = new Date();
let hours = date.getHours();
Si solo desea la cadena de tiempo, puede usar esta expresión (con una expresión regular simple):
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 )
Mostrará la fecha en el mes, el día y luego el año
En mi caso, lo usé como global y luego lo llamé para verificar el horario de funcionamiento.
A continuación es de mi index.js
global.globalDay = new Date().getDay();
global.globalHours = new Date().getHours();
Para llamar al valor global de otro archivo
/*
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!");
}
Para iniciar su nodo en la zona horaria PST, use el siguiente comando en ubuntu.
TZ=\"/usr/share/zoneinfo/GMT+0\" && export TZ && npm start &
Luego, puede consultar la Biblioteca de fechas para obtener las funciones de fecha y hora de cálculo personalizadas en el nodo.
Para usarlo en el lado del cliente, consulte este enlace , descargue index.js y assertHelper.js e inclúyalo en su 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
}
Puede utilizar diferentes funciones como se indica en los ejemplos para obtener fechas personalizadas.
Si el primer día de la semana es el domingo, ¿qué día será el 15 de junio de 2015?
DateLibrary.getDayOfWeek(new Date("2015-06-15"),
{operationType:"Day_Number_of_Week",
startDayOfWeek:"Sunday"}) // Output : 1
Si el primer día de la semana es martes, qué número de semana del año seguirá el 15 de junio de 2015 como una de las fechas.
DateLibrary.getWeekNumber(new Date("2015-06-15"),
{operationType:"Week_of_Year",
startDayOfWeek:"Tuesday"}) // Output : 24
Consulte otras funciones para cumplir con sus requisitos de fecha personalizada.