ticks from convert change c# javascript datetime-format

from - Convertir C#DateTime a Javascript Fecha



send datetime from javascript to c# (2)

Dada la salida con la que estás atascado, no puedo pensar en una mejor manera de capturar un DateTime de 0 en el lado de javascript.

Date.parse debería funcionar para sus necesidades de análisis, pero devuelve el número de milisegundos, por lo que necesita envolver un constructor de Fecha alrededor:

var date = new Date(Date.parse(myCSharpString));

Para la fecha de regreso, simplemente quieres

date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getDate() + 1);

( date.getMonth y date.getDate tienen un índice de 0 en lugar de un índice de 1).

Fiddle: http://jsfiddle.net/GyC3t/

EDITAR Gracias a la captura de JoeB, déjame hacer una corrección. La función date.getMonth() está indexada en 0, pero la función date.getDate() está indexada en 1. El violín estaba "trabajando" con el +1 porque date.getMonth funciona en la hora local, que es anterior a UTC. No revisé correctamente los documentos, y solo agregué 1, y funcionó con el violín.

Una forma más adecuada de hacer esto es:

Para la fecha de regreso, simplemente quieres

date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getUTCDate());

( date.getMonth tiene un índice de 0, mientras que date.getDate tiene un índice de 1 pero es susceptible a las diferencias de zona horaria).

Fiddle: http://jsfiddle.net/GyC3t/25/

Tengo una función en Javascript que recibe un C # DateTime de MVC. Si la fecha es nula, debe devolver "-", si es una fecha válida, debe devolver la fecha formateada.

IMPORTANTE: no es posible enviar la fecha en otro formato desde C #.

Javascript:

function CheckDate(date) { if (date == "Mon Jan 01 0001 00:00:00 GMT+0000 (GMT Daylight Time)") return "-"; else { var dat = new Date(date); return dat.getFullYear() + dat.getMonth() + dat.getDay(); }

¿Hay una mejor manera de comparar si la fecha es el C # New DateTime?

¿Y cómo analizo y devuelvo la fecha en formato "aaaa / MM / dd"?


Uso lo siguiente para pasar una fecha de Javascript a C #:

var now = new Date(); var date = (now.getTime() / 86400000) - (now.getTimezoneOffset() / 1440) + 25569;

Entonces, si obtienes la cantidad de milisegundos de C #, debería ser algo como esto:

var csharpmilliseconds; var now = new Date(); var date = new Date((csharpmilliseconds + (now.getTimezoneOffset() / 1440) - 25569) * 86400000);