Posts recientes

El contenido de este blog tiene una licencia Creative Commons.
Creative Commons

Conversión de tipos fecha/hora de un servicio web a tipo Date de JavaScript

Las fechas que nos llegan a través de un servicio web nos llegan en formato ISO-8601 (ej: 2005-03-26T19:51:34Z). Para poderlas tratar desde JavaScript debemos realizar la conversión de esta cadena a un tipo Date. Podemos hacer uso, por ejemplo, de una extensión sencilla del tipo Date, como la siguiente:

Date.prototype.setISO8601 = function (string) {
 var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
 "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
 "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
 var d = string.match(new RegExp(regexp));

 var offset = 0;
 var date = new Date(d[1], 0, 1);

 if (d[3]) { date.setMonth(d[3] - 1); }
 if (d[5]) { date.setDate(d[5]); }
 if (d[7]) { date.setHours(d[7]); }
 if (d[8]) { date.setMinutes(d[8]); }
 if (d[10]) { date.setSeconds(d[10]); }
 if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
 if (d[14]) {
 offset = (Number(d[16]) * 60) + Number(d[17]);
 offset *= ((d[15] == '-') ? 1 : -1);
 }

 offset -= date.getTimezoneOffset();
 time = (Number(date) + (offset * 60 * 1000));
 this.setTime(Number(time));
}

 

Una vez tenemos la extensión podemos realizar las conversiones con llamadas del tipo:

var date = new Date();
date.setISO8601("2005-03-26T19:51:34Z");
Autor: Rubén Claramunt Vicente
Publicado: 30/08/2011  12:39 | 0  Comentarios | 0  Enlaces a este post

Undefined ‘g_ExpGorupXSLTQueue’ en vistas agrupadas en SP1 de SharePoint

El primer bug del SP1 de SharePoint 2010 ya ha aparecido. Nos hemos topado con un bug en los ficheros JS que afecta a las vistas agrupadas de listas y bibliotecas de documentos. En una vista con agrupaciones aparece el siguiente error, haciendo inservible la navegación en la vista.

image

La forma más fácil de solucionar el problema es copiar los ficheros INIT.JS y CORE.JS del hive 1033 (/TEMAPLATES/LAYOUTS/1033) en el hive correspondiente del idioma no inglés, en este caso el español (3082). Tras sustituir los ficheros y reiniciar el servicio de IIS todo vuelve a funcionar correctamente. No conocemos efectos laterales de la sustitución, pero os iremos informando.

Autor: Rubén Claramunt Vicente
Publicado: 24/08/2011  11:36 | 0  Comentarios | 0  Enlaces a este post