C# Obter o Unix Timestamp

  1. C# Programa para obter o Unix Timestamp Utilizando o DateTime.Now.Subtract().TotalSeconds Método
  2. C# Programa para obter o Unix Timestamp utilizando DateTimeOffset.Now.ToUnixTimeSeconds() Método
  3. C# Programa para obter o Unix Timestamp Utilizando o TimeSpan Métodos de estrutura

Um timestamp Unix é utilizado principalmente em sistemas operacionais Unix. Mas ele é útil para todos os sistemas operacionais porque representa a hora de todos os fusos horários. Unix Timestamp representa a hora em segundos. A época Unix começou em 1º de janeiro de 1970. Portanto, Unix Timestamp é o número de segundos entre uma data específica e Unix epoch.

Em C#, há diferentes métodos para obter um Unix timestamp. Neste artigo, vamos colocar nosso foco nestes métodos. Leia até o final para descobrir estes métodos.

C# Programa para obter o Unix Timestamp Utilizando o DateTime.Now.Subtract().TotalSeconds Método

A classe DateTime é utilizada para obter a data e a hora. A classe DateTime.Now fornece a data e a hora atuais. O método Subtract() encontra a diferença na data atual e a Unix epoch. E a propriedade TotalSeconds converte a data e a hora resultantes em segundos.

A sintaxe correta para utilizar este método é a seguinte:

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

Exemplo de código:

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);
    }
}

Resultado:

The Unix Timestamp is 1586782314.

C# Programa para obter o Unix Timestamp utilizando DateTimeOffset.Now.ToUnixTimeSeconds() Método

O método DateTimeOffset.Now.ToUnixTimeSeconds() é um método pré-definido. Ele calcula o Unix timestamp em segundos. O valor Unix epoch já está definido no método, portanto, não precisamos passá-lo como um parâmetro.

A sintaxe correta para utilizar este método é a seguinte:

DateTimeOffset.Now.ToUnixTimeSeconds();

Exemplo de código:

using System;

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

Resultado:

The Unix Timestamp is 1586782273.

C# Programa para obter o Unix Timestamp Utilizando o TimeSpan Métodos de estrutura

Em C#, TimeSpan é uma estrutura que informa sobre o intervalo de tempo. Sua propriedade Ticks é utilizada para representar o valor do intervalo de tempo. Ela pode ser utilizada para encontrar o Unix Timestamp.

A sintaxe correta para utilizar esta estrutura é a seguinte:

//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 exemplo:

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);
    }
}

Resultado:

The Unix Timestamp is 1586782432.