Como posso converter um registro de data e hora do Unix em DateTime e vice-versa?

Há esse código de exemplo, mas ele começa a falar sobre problemas de milissegundos / nanossegundos.

A mesma pergunta está no MSDN,Segundos desde a época do Unix em C #.

Isto é o que eu tenho até agora:

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

questionAnswers(16)

yourAnswerToTheQuestion