Come convertire UnixTimeStamp in DateTime in C#

Come convertire UnixTimeStamp in DateTime in C#

In questo articolo impareremo come convertire UnixTimeStamp in DateTime in C#.

L'ora Unix è il numero di secondi dal 1 gennaio 1970, 00:00:00 UTC. Prima di .Net 4.6, utilizzavamo questo modo per convertire UnixTimeStamp in Datetime come segue:

Codice
using System;

namespace Tutorialsrack
{
    class Program
    {
        /* How to Convert UnixTimeStamp To DateTime in C# */
        static void Main(string[] args)
        {
            Console.Write("DateTime Convert From UnixTimeStamp: ");
            Console.WriteLine(ConvertUnixTimeStampToDateTime(1583077443));

            //Hit ENTER to exit the program
            Console.ReadKey();
        }
        public static DateTime ConvertUnixTimeStampToDateTime(long unixtime)
        {
            DateTime sTime = new DateTime(1970, 1, 1, 0, 0, 0).ToLocalTime();
            return sTime.AddSeconds(unixtime);
        }
    }
}

Dopo .NET 4.6, sono stati aggiunti alcuni nuovi metodi, ma per usarli dovrai prima convertire da UnixTimeStamp a DateTimeOffset. Innanzitutto, assicurati di puntare alla versione corretta di .NET Framework. Ecco il metodo per convertire UnixTimeStamp in DateTime come segue:

Codice
using System;

namespace Tutorialsrack
{
    class Program
    {
        /* How to Convert UnixTimeStamp To DateTime in C# */
        ///
        /// In This Program, We will Convert UnixTimeStamp
        /// To DateTime by using built in methods 
        /// provided in .Net 4.6 
        /// 
        ///
        static void Main(string[] args)
        {
            Console.Write("DateTime Convert From UnixTimeStamp: ");
            Console.WriteLine(ConvertUnixTimeStampToDateTime(1583077443));

            //Hit ENTER to exit the program
            Console.ReadKey();
        }
        public static DateTime ConvertUnixTimeStampToDateTime(long unixtime)
        {
            var localDateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(unixtime).DateTime.ToLocalTime();
            return localDateTimeOffset;
        }
    }
}

Spero che questo articolo ti aiuti a capire come convertire UnixTimeStamp in DateTime in C#.

Condividi il tuo prezioso feedback, per favore pubblica il tuo commento in fondo a questo articolo. Grazie!