receta por pasar para normal mezcla mejor kit hamburguesas hamburguesa electrico convertir conversion contactos como china carne javascript datetime date

por - ¿Cómo fusionar dos fechas en JavaScript?



pasar contactos de iphone a android por bluetooth (7)

Tengo 2 objetos de fecha. Quiero tomar la fecha de una y la hora de la otra y combinarlas en un nuevo objeto de fecha.

date.toString() = Wed Dec 21 2011 00:00:00 GMT+0000 (GMT) time.toString() = Sun Dec 31 2000 03:00:00 GMT+0000 (GMT) # I want to end up with datetime.toString() = Wed Dec 21 2011 03:00:00 GMT+0000 (GMT)

¿Cómo puedo lograr esto mejor?


Aquí hay un método que usa regexp para reemplazar la fecha en la fecha y luego crear el nuevo objeto Fecha.

dateTime = new Date(date.toString().replace(/(/d/d:){2}/d{2}/,/(/d/d:){2}/d{2}/.exec(time.toString())[0]));


No sé si esto es lo mejor, pero puedes probar lo siguiente:

datetime = new Date( date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), time.getUTCHours(), time.getUTCMinutes(), time.getUTCSeconds() );

Para más referencias sobre el objeto Date mira this .


Qué tal algo como esto:

var year = date.getFullYear(), month = date.getMonth(), day = date.getDate(); time.setFullYear(year); time.setMonth(month); time.setDate(day);


puede utilizar funciones de cadena para construir la cadena de destino ...

datetime = date.toString().substr(0,16) + time.toString().substr(16,40)

luego, si necesita tenerlo como un objeto de fecha, aliméntelo a una new date()


var datetime = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());


var msPerDay = 1000 * 60 * 60 * 24; var newDateTime = new Date(date.getTime() + (time.getTime() % msPerDay));

EDITAR: el mío asume que la variable de fecha es una fecha sin ninguna hora.


var parts = [''Hours'', ''Minutes'', ''Seconds'', ''Milliseconds'']; for (var i=0, p; p=parts[i], i<parts.length; i++) { date[''setUTC''+p]( time[''getUTC''+p]() ); }