2009-05-31 12 views
15

Creo que mi cerebro acaba de dejar de fumar debido a la hora tardía. ¿Puede alguien decirme la mejor manera de traducir un valor de javascript getTime() a un valor de C# DateTime,cómo traducir el valor de javascript getTime() a C# DateTime

Tengo un componente ajax que envía el valor de tiempo JS como parámetro al controlador mvc de ASP.NET que luego devolverá algunos Json se opone.

Gracias por su ayuda.

sí sé que el valor de tiempo JS es el pasado milisegundos desde el 1 de Ene 1970.

Respuesta

34
new DateTime(1970, 01, 01).AddMilliseconds(jsGetTimeValue); 
+0

Gracias por esto. Y sí, me sentí bastante estúpido cuando me di cuenta de la solución. ¡Demasiadas noches! – Richard

+0

¿Cuál es la acción opuesta? –

+0

Esto no funciona para 'me new Date (1427842800000)' en la consola de Chrome 'Wed Apr 01 2015 00:00:00 GMT + 0100 (GMT Daylight Time)' en 'C#' 'new DateTime (1970, 01, 01) .AddMilliseconds (1427842800000); 'returns' System.DateTime {31/03/2015 00:00:00} ' –

0

que tenía que hacer esta traducción en el propio JavaScript, debido a un componente .NET que no tenía la capacidad de modificar.

Para pasar el valor de JavaScript a una función de C# que espera DateTime necesitaba pasar el número fraccional de días desde el 30/12/1899 a la medianoche. Hice la conversión con esto:

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

Entonces sólo tiene que pasar la days en mi componente .NET.

Cuestiones relacionadas