Daugiau
Kaip konvertuoti "Unix" laiko žymą į "DateTime" ir atvirkščiai?
Yra šis pavyzdinis kodas, tačiau jame pradedama kalbėti apie milisekundžių / nanosekundžių problemas.
Tas pats klausimas yra MSDN, Seconds since the Unix epoch in C#.
Kol kas turiu štai ką:
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);
}
}
707
3
Štai ko jums reikia:
Arba Java (tai skiriasi, nes laiko žyma pateikiama milisekundėmis, o ne sekundėmis):
Teisingą atsakymą radau tik palyginęs perskaičiavimą su 1970 m. sausio 1 d. be vietos laiko koregavimo;
"Unix" erkė yra 1 sekundė (jei gerai pamenu), o .NET erkė yra 100 nanosekundžių.
Jei susidūrėte su problemomis dėl nanosekundžių, galite pabandyti naudoti AddTick(10000000 * value).