C# Obtener la marca de tiempo de unix

Minahil Noor 12 octubre 2023
  1. Programa de C# para obtener la marca de tiempo de Unix usando el método DateTime.Now.Subtract().TotalSeconds
  2. C# Programa para obtener el Unix Timestamp usando el DateTimeOffset.Now.ToUnixTimeSeconds() Método
  3. C# Programa para obtener el Unix Timestamp usando los métodos TimeSpan Struct
C# Obtener la marca de tiempo de unix

El Timestamp de Unix se usa principalmente en los sistemas operativos de Unix. Pero es útil para todos los sistemas operativos porque representa la hora de todas las zonas horarias. Los Timestamps de Unix representan el tiempo en segundos. La Época de Unix comenzó el 1 de enero de 1970. Por lo tanto, Unix Timestamp es el número de segundos entre una fecha específica y Unix epoch.

En la C, hay diferentes métodos para obtener un sello de tiempo de Unix. En este artículo, vamos a centrarnos en estos métodos. Lea hasta el final para descubrir estos métodos.

Programa de C# para obtener la marca de tiempo de Unix usando el método DateTime.Now.Subtract().TotalSeconds

La clase DateTime se usa para obtener la fecha y la hora. DateTime.Now dice la fecha y la hora actuales. El método Subtract() encuentra la diferencia entre la fecha actual y la Unix epoch. Y la propiedad TotalSeconds convierte la fecha y la hora resultantes en segundos.

La sintaxis correcta para usar este método es la siguiente:

DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
// 1970, 1, 1 is the Unix epoch

Código de ejemplo:

using System;

public class UnixTimestamp {
  public static void Main() {
    Int32 unixTimestamp = (Int32)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Producción :

The Unix Timestamp is 1586782314.

C# Programa para obtener el Unix Timestamp usando el DateTimeOffset.Now.ToUnixTimeSeconds() Método

El método DateTimeOffset.Now.ToUnixTimeSeconds() es un método predefinido. Calcula la Unix timestamp en segundos. El valor Unix epoch ya está definido en el método, así que no necesitamos pasarlo como un parámetro.

La sintaxis correcta para usar este método es la siguiente:

DateTimeOffset.Now.ToUnixTimeSeconds();

Código de ejemplo:

using System;

public class UnixTimestamp {
  public static void Main() {
    var unixTimestamp = DateTimeOffset.Now.ToUnixTimeSeconds();
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Producción :

The Unix Timestamp is 1586782273.

C# Programa para obtener el Unix Timestamp usando los métodos TimeSpan Struct

En C#, TimeSpan es una struct que habla del intervalo de tiempo. Su propiedad Ticks se usa para representar el valor del intervalo de tiempo. Puede ser usada para encontrar el Timestamp de Unix.

La sintaxis correcta para usar esta estructura es la siguiente:

// Creating First Time Interval
TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
// Creating Second Time Interval and Substracting its Value from the First One
TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
// Converting time interval to seconds to represent Unix Timestamp
Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;

Código de ejemplo:

using System;

public class UnixTimestamp {
  public static void Main() {
    TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
    TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
    Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Producción :

The Unix Timestamp is 1586782432.

Artículo relacionado - Csharp DateTime