2010-01-14 24 views
6

¿Cómo puedo visualizar la fecha/hora en el panel de la cuadrícula? La fecha está viniendo del lado del servidor de servicios web asp.net como:Cómo mostrar la hora y la fecha en extjs

{9/14/2009 10:23:00 AM} 

estoy recibiendo un error en la visualización de la fecha y la hora. Muestra NaN/NaN/NaN 12:NaN:NaN PM

var store = new FMP.AspNetJsonStore({ 
      fields: [ 
         { name: 'DateOccurred'} 
        ], 
}); 

var dateRenderer = Ext.util.Format.dateRenderer('m/d/Y h:i:s A'); 

{ header: xppo.st('SDE_DATE_OCCURRED'), width: 75, sortable: true, 
    dataIndex: 'DateOccurred', renderer: dateRenderer }, 

En la tienda si defino campos:

[ { name: 'DateOccurred', type: 'date', dateFormat: 'm/d/Y'} ], 

... que muestra un campo en blanco.

Por favor, ayúdenme en este tema.

Respuesta

6

El formato de fecha especificado debe coincidir exactamente con la cadena de fecha para que se pueda analizar. El formato 'm/d/Y' falla porque falta el componente de tiempo y 'm' espera un mes de 2 dígitos. Un dateFormat que analiza con éxito su ejemplo de fecha es:

'n/d/Y H:i:s A' 

También puede intentar omitir dateFormat, dejando el tipo de campo se establece en 'fecha'. En ausencia de un formato específico, ExtJS recurrirá a Date.parse.

+0

gracias por la respuesta. he cambiado mi objeto datetime por una cadena ya que tuve otros problemas al analizarlo. – xrx215

0

Estoy de acuerdo con owlness pero quería agregar algunos comentarios más a esta respuesta ya que me he encontrado con múltiples formas.

Una cosa a mirar es su navegador también. Mientras codificaba para resolver este problema, me di cuenta de que mi navegador entraba en modo compatibilidad y bajaba a IE 8 y luego mostraba este problema mientras usaba IE 11 gracias a la configuración del registro en mi lugar de trabajo. Para evitar los problemas del modo de compatibilidad en su página web, intente agregar la siguiente metaetiqueta HTML a continuación a su página HTML inicial que llama a los archivos de la aplicación Ext JS.

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 

Está su columna de cuadrícula u otro objeto xtype establecido en un campo de fecha, ¿qué pasa con su modelo, el modelo es en realidad el uso de un tipo de columna fecha. Echar un vistazo a los campos modelos y establecer el campo de fecha problemática type() hasta la fecha como esta:

type: 'date', 
... 

Otro elemento a tener en cuenta es para validar el formato de los datos de su volver a su llamada servidor. Parece que obtienes un objeto Date de forma consecutiva JSON. He visto estos objetos también devueltos como {"Date":"2014-09-18T00:00:00" ...} y el carácter T en los datos serializados ha causado problemas.

Si necesita formatear para tal escenario, incluya los caracteres de escape en la configuración dateFormat() configurando su uso para su modelo. aquí es un ejemplo de configuración que con el carácter de escape en ella: dateFormat: 'Y-m-d\\TH:i:s',

Finalmente mi última resolución es que si su todavía tienen problemas con sus fechas aparecer y ninguna de las sugerencias anteriores han trabajado para usted, intente configurar el dateReadFormat() y las configuraciones de configuración dateWriteFormat(), estas configuraciones anularán la primera configuración que discutimos dateFormat(). No estoy seguro de por qué, pero por alguna razón, estas dos configuraciones diferentes que se están utilizando han resuelto los problemas de fecha en los que la configuración de configuración de formato de fecha única no. Puede que tenga que ver con el escritor, no estoy claro en este momento.

El código probablemente se verá algo similar a esto:

...  
dateReadFormat: 'Y-m-d\\TH:i:s', 
dateWriteFormat: 'Y-m-d\\TH:i:s', 
... 

espero que esto ayuda a algunas personas por ahí ...

Cuestiones relacionadas