在我的 C# 程序中,我从 PLC 接收日期时间。它以“ ulong ”格式发送数据。
如何将 ulong 转换为 DateTime 格式?
例如我收到:

ulong timeN = 99844490909448899;//time in nanoseconds

然后我需要将其转换为 DateTime ("MM/dd/yyyy hh:mm:ss") 格式。

我该如何解决这个问题?

最佳答案

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

关于c# - 如何 C# 将 ulong 转换为 DateTime?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19832252/

10-12 20:30