C# Obter o Unix Timestamp
-
C# Programa para obter o
Unix Timestamp
Utilizando oDateTime.Now.Subtract().TotalSeconds
Método -
C# Programa para obter o
Unix Timestamp
utilizandoDateTimeOffset.Now.ToUnixTimeSeconds()
Método -
C# Programa para obter o
Unix Timestamp
Utilizando oTimeSpan
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.