SORU
30 EKİM 2008, PERŞEMBE


Bir Unix zaman damgası DateTime dönüştürmek için nasıl da tam tersi?

Bu örnek kod var, ama sonra milisaniye / saniye sorunları hakkında konuşmaya başlar.

Aynı soruyu MSDN'DESeconds since the Unix epoch in C#.

Bu şimdiye kadar ne aldım

public Double CreatedEpoch
{
  get
  {
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
    TimeSpan span = (this.Created.ToLocalTime() - epoch);
    return span.TotalSeconds;
  }
  set
  {
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
    this.Created = epoch.AddSeconds(value);
  }
}

CEVAP
30 EKİM 2008, PERŞEMBE


Burada neye ihtiyacınız var:

public static DateTime UnixTimeStampToDateTime( double unixTimeStamp )
{
    // Unix timestamp is seconds past epoch
    System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
    dtDateTime = dtDateTime.AddSeconds( unixTimeStamp ).ToLocalTime();
    return dtDateTime;
}

Veya, Java için farklı olan):

public static DateTime JavaTimeStampToDateTime(double javaTimeStamp)
{
    // Java timestamp is millisecods past epoch
    System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
    dtDateTime = dtDateTime.AddSeconds(Math.Round(javaTimeStamp / 1000)).ToLocalTime();
    return dtDateTime;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • magnum33563

    magnum33563

    8 NİSAN 2011