C# – Converter Unix Timestamp para DateTime

CSharp

Aqui vai uma dica simples porém muito útil, a conversão do formato Unix Timestamp para o Date Time em C#.

Vou disponibilizar dois métodos, o primeiro para converter o Unix Timestamp para o DateTime do C# e o segundo para realizar o processo inverso, converter o DateTime em Unix Timestamp.

Convertendo Unix Timestamp para DateTime:

public static DateTime UnixTimeToDateTime(long unixTime)
{
	DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
	dateTime = dateTime.AddMilliseconds(unixTime).ToLocalTime();
	return dateTime;
}

Obtendo o valor Unix Timestamp a partir de um DateTime:

public static long DateTimeToUnix(DateTime dateTime)
{
	TimeSpan timeSpan = dateTime - new DateTime(1970, 1, 1, 0, 0, 0);
	return (long)timeSpan.TotalSeconds;
}

O formato Unix Timestamp é muito utilizado e esta dica é valiosa.

Mais exemplos em outras linguagems você pode ver no site https://www.epochconverter.com/

Boa sorte na implementação 😉