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