Cómo obtener Unix timestamp (marca de tiempo Unix) en C#
¡Hola a todos! Soy un desarrollador principiante de C# y tuve un problema al trabajar con fechas y horas. Necesito obtener el Unix timestamp: la cantidad de segundos transcurridos desde el 1 de enero de 1970 (época Unix). Esto es necesario para la integración con una API externa que acepta tiempo en este formato.
Intenté hacer algo como:
```csharp
DateTime now = DateTime.Now;
long timestamp = (long)now; // Error: conversión implícita imposible
```
Pero el compilador muestra un error de que no se puede convertir DateTime a long. Luego probé usar la propiedad Ticks:
```csharp
long timestamp = DateTime.Now.Ticks;
```
Pero el valor resulta enorme (por ejemplo, 638700000000000000), y claramente no es un Unix timestamp. Entiendo que Ticks cuenta desde el 1 de enero del año 0001, no desde 1970.
Indíquenme cómo obtener correctamente el Unix timestamp en C#. Preferiblemente con ejemplos de código. Lo necesito tanto para el momento actual como para una fecha arbitraria. ¡Gracias de antemano!