将DateTime.现在结果进入数组(24小时格式)

本文关键字:数组 24小时 格式 DateTime 结果 | 更新日期: 2023-09-27 18:08:45

我正在尝试发送日期&到远程数据记录器时,我需要将DateTime.Now转换为字节数组。

例如

2015 will byte[0] = 20; 
byte[1] = 15;
byte[..] = 23 (11 pm).. 

等等。

我用的是c#, Visual Studio 2010

将DateTime.现在结果进入数组(24小时格式)

我想这就是你想要的:

DateTime now = DateTime.UtcNow;
string logString = now.ToString("yyyyMMddHHmmss");
byte[] logEntry;
int elements = logString.Length / 2;
logEntry = new byte[elements];
for (int i = 0; i < elements; i++)
{
    logEntry[i] = Convert.ToByte(logString.Substring(i * 2, 2));
}
Console.WriteLine(logString);
Console.WriteLine();
for (int i = 0; i < elements; i++)
{
Console.WriteLine("{0}: {1:00}", i, logEntry[i]);
}
样本输出:

20150820073306
0: 20
1: 15
2: 08
3: 20
4: 07
5: 33
6: 06

对您的用例不太确定。如果我能把下面的语句从你的查询中分离出来,我的解决方案对你有效。

我需要转换日期时间。现在进入字节数组

DateTime dt = DateTime.Now;
Console.WriteLine(dt);
// Covert to OA Date
double oadate = dt.ToOADate();
Console.WriteLine(oadate);
// Convert to byte array.
byte[] datebytes = BitConverter.GetBytes(oadate);

这可以用几行代码转换回DateTime

double retvalue =  BitConverter.ToDouble(datebytes,0);    
Console.WriteLine(DateTime.FromOADate(retvalue));

示例代码。