Avatar ·

Cómo convertir Unix timestamp a DateTime y viceversa en C#?

¡Hola a todos! Soy un desarrollador C# principiante y tuve un problema con la conversión de Unix timestamp a DateTime y viceversa. En mi proyecto, recibo de la API la hora en formato Unix timestamp (por ejemplo, 1678901234). Necesito mostrar esta hora en un formato legible en la UI, y también a veces enviar de vuelta al servidor el valor ya convertido. Intenté escribir una conversión simple, pero algo salió mal. Aquí está mi código: ```csharp // Intento convertir timestamp a DateTime long timestamp = 1678901234; DateTime dateTime = new DateTime(timestamp); Console.WriteLine(dateTime); // Muestra algo extraño... // Intento hacer la conversión inversa DateTime now = DateTime.Now; long backToTimestamp = (long)now.Ticks; Console.WriteLine(backToTimestamp); ``` El problema es que: 1. Al convertir timestamp a DateTime obtengo la fecha 1 de enero del año 0001, en lugar de la esperada 15 de marzo de 2023. 2. Al hacer la conversión inversa obtengo un número enorme que no corresponde