Hoe kan ik een Unix-tijdstempel omzetten naar DateTime en vice versa?
Er is deze voorbeeldcode, maar dan begint het over milliseconde / nanoseconde problemen.
Dezelfde vraag staat op MSDN, Seconden sinds de Unix epoche in C#.
Dit is wat ik'heb tot nu toe:
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
Dit is wat je nodig hebt:
Of, voor Java (wat anders is omdat de timestamp in milliseconden is, niet seconden):
Ik vond het juiste antwoord door de conversie te vergelijken met 1/1/1970 zonder de lokale tijd aanpassing;
Een Unix tick is 1 seconde (als ik me goed herinner), en een .NET tick is 100 nanoseconden.
Als je'problemen hebt met nanoseconden, zou je kunnen proberen AddTick(10000000 * waarde) te gebruiken.