C# Obter o Unix Timestamp
-
C# Programa para obter o
Unix TimestampUtilizando oDateTime.Now.Subtract().TotalSecondsMétodo -
C# Programa para obter o
Unix TimestamputilizandoDateTimeOffset.Now.ToUnixTimeSeconds()Método -
C# Programa para obter o
Unix TimestampUtilizando oTimeSpanMé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.