如何在.NET中获取Unix时间戳
本文关键字:获取 Unix 时间戳 NET | 更新日期: 2023-09-27 18:25:58
我在C#代码中遇到了以下函数:
Byte[] GetUNIXTimeStamp(DateTime dtVal)
{
if (m_bytTimeStamp == null) m_bytTimeStamp = new Byte[14];
Byte[] bytVals = BitConverter.GetBytes((UInt16)dtVal.Day);
m_bytTimeStamp[0] = bytVals[0];
m_bytTimeStamp[1] = bytVals[1];
bytVals = BitConverter.GetBytes((UInt16)dtVal.Month);
m_bytTimeStamp[2] = bytVals[0];
m_bytTimeStamp[3] = bytVals[1];
bytVals = BitConverter.GetBytes((UInt16)dtVal.Year);
m_bytTimeStamp[4] = bytVals[0];
m_bytTimeStamp[5] = bytVals[1];
bytVals = BitConverter.GetBytes((UInt16)dtVal.Hour);
m_bytTimeStamp[6] = bytVals[0];
m_bytTimeStamp[7] = bytVals[1];
bytVals = BitConverter.GetBytes((UInt16)dtVal.Minute);
m_bytTimeStamp[8] = bytVals[0];
m_bytTimeStamp[9] = bytVals[1];
bytVals = BitConverter.GetBytes((UInt16)dtVal.Second);
m_bytTimeStamp[10] = bytVals[0];
m_bytTimeStamp[11] = bytVals[1];
bytVals = BitConverter.GetBytes((UInt16)dtVal.Millisecond);
m_bytTimeStamp[12] = bytVals[0];
m_bytTimeStamp[13] = bytVals[1];
return m_bytTimeStamp;
}
……只是想知道是否有一些最短、最干净的方法可以达到同样的效果?
您可以使用以下内容:
long CurrentTimestamp = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds;