C# Ottieni il timestamp di Unix

Minahil Noor 12 ottobre 2023
  1. Programma C# per ottenere il Unix Timestamp utilizzando il metodo DateTime.Now.Subtract().TotalSeconds
  2. Programma C# per ottenere il Unix Timestamp usando il metodo DateTimeOffset.Now.ToUnixTimeSeconds()
  3. Programma C# per ottenere il Unix Timestamp usando i metodi TimeSpan Struct
C# Ottieni il timestamp di Unix

Un timestamp Unix viene utilizzato principalmente nei sistemi operativi Unix. Ma è utile per tutti i sistemi operativi perché rappresenta l’ora di tutti i fusi orari. I Timestamp di Unix rappresentano il tempo in secondi. L ‘epoca Unix iniziò il 1° gennaio 1970. Quindi, Timestamp Unix è il numero di secondi tra una data specifica e l’epoca Unix.

In C#, ci sono diversi metodi per ottenere un timestamp Unix. In questo articolo ci concentreremo su questi metodi. Leggi fino alla fine per scoprire questi metodi.

Programma C# per ottenere il Unix Timestamp utilizzando il metodo DateTime.Now.Subtract().TotalSeconds

La classe DateTime viene utilizzata per ottenere la data e l’ora. DateTime.Now fornisce la data e l’ora correnti. Il metodo Subtract() trova la differenza tra la data corrente e l’epoca Unix. E la proprietà TotalSeconds converte la data e l’ora risultanti in secondi.

La sintassi corretta per utilizzare questo metodo è la seguente:

DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
// 1970, 1, 1 is the Unix epoch

Codice di esempio:

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);
  }
}

Produzione:

The Unix Timestamp is 1586782314.

Programma C# per ottenere il Unix Timestamp usando il metodo DateTimeOffset.Now.ToUnixTimeSeconds()

Il metodo DateTimeOffset.Now.ToUnixTimeSeconds() è un metodo predefinito. Calcola il timestamp Unix in secondi. Il valore Unix epoch è già definito nel metodo, quindi non è necessario passarlo come parametro.

La sintassi corretta per utilizzare questo metodo è la seguente:

DateTimeOffset.Now.ToUnixTimeSeconds();

Codice di esempio:

using System;

public class UnixTimestamp {
  public static void Main() {
    var unixTimestamp = DateTimeOffset.Now.ToUnixTimeSeconds();
    Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
  }
}

Produzione:

The Unix Timestamp is 1586782273.

Programma C# per ottenere il Unix Timestamp usando i metodi TimeSpan Struct

In C#, TimeSpan è una struttura che racconta l’intervallo di tempo. La sua proprietà Ticks viene utilizzata per rappresentare il valore dell’intervallo di tempo. Può essere usato per trovare il Unix Timestamp.

La sintassi corretta per utilizzare questa struttura è la seguente:

// 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;

Codice di esempio:

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);
  }
}

Produzione:

The Unix Timestamp is 1586782432.

Articolo correlato - Csharp DateTime