Estoy tratando de convertir una variable C# DateTime a tiempo Unix, es decir, el número de segundos desde el 1 de enero de 1970. Parece que DateTime se implementa realmente como el número de 'ticks' desde el 1 de enero de 0001.¿Cómo puedo convertir un DateTime en la cantidad de segundos desde 1970?
mi pensamiento actual es restar 1 ª Ene, 1970. Tras calificarse a mi DateTime como esto:
TimeSpan span= DateTime.Now.Subtract(new DateTime(1970,1,1,0,0,0));
return span.TotalSeconds;
¿hay una mejor manera?
Debe ser la pena señalar que si se desea convertir a millseconds, ya sea para marcas de tiempo más precisos o Javascript Compatibilidad con el objeto Date(), debe usar long en lugar de int para el tipo de marca de tiempo. – Soviut
No funcionó para mí. Esta respuesta hizo el truco: http://stackoverflow.com/questions/249760/how-to-convert-unix-timestamp-to-datetime-and-vice-versa – Zeezer
@Jonny - ToUniversalTime() convierte a UTC, por lo que no cuenta para UTC. –