transcurrido tiempo obtener minutos horas fechas entre diferencia calcular javascript datetime

javascript - tiempo - diferencia horas jquery



Javascript, hora y fecha: obteniendo el minuto, la hora, el día, la semana, el mes y el año actuales de un determinado tiempo de milisegundos (4)

Todavía estoy envolviendo mi cabeza alrededor de esta biblioteca, pero estoy fuera de tiempo así que solo voy a saltar a la sección del spoiler y preguntar. Con un valor de tiempo de milisegundos dado, arbitrario (como el tipo que le dio a .getTime() ), ¿cómo obtengo el minuto, hora, día, semana, mes, semana del año y año actual de ese milisegundo específico de tiempo?

Además, ¿cómo recupero el número de días de un mes determinado? ¿Algo que deba saber sobre los años bisiestos y otras cosas?


Además, ¿cómo recupero el número de días de un mes determinado?

Además de calcularlo usted mismo (y, en consecuencia, tener que pasar años bisiestos a la derecha), puede usar un cálculo de fecha para hacerlo:

var y= 2010, m= 11; // December 2010 - trap: months are 0-based in JS var next= Date.UTC(y, m+1); // timestamp of beginning of following month var end= new Date(next-1); // date for last second of this month var lastday= end.getUTCDate(); // 31

En general, para los cálculos de fecha / hora, recomendaría usar los métodos de Fecha basados ​​en UTC, como getUTCSeconds lugar de getSeconds() y Date.UTC para obtener una marca de tiempo de una fecha UTC, en lugar de una new Date(y, m) , por lo que no tiene que preocuparse por la posibilidad de discontinuidades de tiempo extrañas donde cambian las reglas de la zona horaria.


Aquí hay otro método para obtener la fecha

new Date().getDate() // Get the day as a number (1-31) new Date().getDay() // Get the weekday as a number (0-6) new Date().getFullYear() // Get the four digit year (yyyy) new Date().getHours() // Get the hour (0-23) new Date().getMilliseconds() // Get the milliseconds (0-999) new Date().getMinutes() // Get the minutes (0-59) new Date().getMonth() // Get the month (0-11) new Date().getSeconds() // Get the seconds (0-59) new Date().getTime() // Get the time (milliseconds since January 1, 1970)


Con respecto al número de días en el mes, simplemente use el comando static switch y verifique if (year % 4 == 0) en cuyo caso febrero tendrá 29 días.

Minuto, hora, día, etc.

var someMillisecondValue = 511111222127; var date = new Date(someMillisecondValue); var minute = date.getMinutes(); var hour = date.getHours(); var day = date.getDate(); var month = date.getMonth(); var year = date.getFullYear(); alert([minute, hour, day, month, year].join("/n"));


Los nombres de las variables deben ser descriptivos:

var date = new Date; date.setTime(result_from_Date_getTime); var seconds = date.getSeconds(); var minutes = date.getMinutes(); var hour = date.getHours(); var year = date.getFullYear(); var month = date.getMonth(); // beware: January = 0; February = 1, etc. var day = date.getDate(); var dayOfWeek = date.getDay(); // Sunday = 0, Monday = 1, etc. var milliSeconds = date.getMilliseconds();

Los días de un mes determinado no cambian. En un año bisiesto, febrero tiene 29 días. Inspirado por http://www.javascriptkata.com/2007/05/24/how-to-know-if-its-a-leap-year/ (¡gracias Peter Bailey!)

Continúa desde el código anterior:

var days_in_months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // for leap years, February has 29 days. Check whether // February, the 29th exists for the given year if( (new Date(year, 1, 29)).getDate() == 29 ) days_in_month[1] = 29;

No hay una manera directa de obtener la semana de un año. Para obtener la respuesta a esa pregunta, consulte ¿Hay alguna forma en javascript para crear un objeto de fecha utilizando el año y el número de semana ISO?