Как C# конвертировать ulong в DateTime?

В моей программе на C# я получаю datetime от ПЛК. Это отправка данных в формате "ulong". Как я могу конвертировать ulong в формат DateTime? например я получаю:

ulong timeN = 99844490909448899;//time in nanoseconds

Затем мне нужно преобразовать его в формат DateTime ("MM/dd/yyyy чч: мм: сс").

Как я могу решить это?

1 ответ

Решение
static DateTime GetDTCTime(ulong nanoseconds, ulong ticksPerNanosecond)
{
    DateTime pointOfReference = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    long ticks = (long)(nanoseconds / ticksPerNanosecond);
    return pointOfReference.AddTicks(ticks);
}

static DateTime GetDTCTime(ulong nanoseconds)
{
    return GetDTCTime(nanoseconds, 100);
}

Это дает дату и время: 01 March 2003 14:34:50 используя следующий вызов:

ulong timeN = 99844490909448899;//time in nanoseconds
var theDate = GetDTCTime(timeN);
Другие вопросы по тегам