Come convertire DateTime in UnixTimeStamp in C#

Come convertire DateTime in UnixTimeStamp in C#

In questo articolo impareremo come convertire DateTime in UnixTimeStamp 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 DateTime in UnixTimeStamp come segue:

Codice
using System;

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

            //Hit ENTER to exit the program
            Console.ReadKey();
        }
        public static long ConvertDatetimeToUnixTimeStamp(DateTime date)
        {
            DateTime originDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
            TimeSpan diff = date.ToUniversalTime() - originDate;
            return (long)Math.Floor(diff.TotalSeconds);
        }
    }
}

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

Codice
using System;

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

            //Hit ENTER to exit the program
            Console.ReadKey();
        }

        public static long ConvertDatetimeToUnixTimeStamp(DateTime date)
        {
            var dateTimeOffset = new DateTimeOffset(date);
            var unixDateTime = dateTimeOffset.ToUnixTimeSeconds();
            return unixDateTime;
        }
    }
}

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

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