我尝试使用当前日期和时间填充字节数组,格式如下:YYMMDDHHmm。 但是,DateTime.Now.Day或DateTime.Now.Month或这些方法中的任何一个返回int,最终导致我的代码中出现空引用异常(例如,当" day"值小于10时,不会引用第二个字节)。
DATETIME[0] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Year.ToString())[2];
DATETIME[1] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Year.ToString())[3];
DATETIME[2] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Month.ToString())[0];
DATETIME[3] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Month.ToString())[1];
DATETIME[4] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Day.ToString())[0];
DATETIME[5] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Day.ToString())[1];
DATETIME[6] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Hour.ToString())[0];
DATETIME[7] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Hour.ToString())[1];
DATETIME[8] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Minute.ToString())[0];
DATETIME[9] = System.Text.Encoding.ASCII.GetBytes(DateTime.Now.Minute.ToString())[1];
这可能会有点愚蠢,但是有没有人知道如何在字节数组中获得正确的值而不使用一堆if?#/ p>
例如:11/01/17 08:46 - > [49] [55] [49] [49] [48] [49] [48] [56] [52] [54](ASCII编码)
答案 0 :(得分:0)
尝试:
Encoding.ASCII.GetBytes(的String.Format(" {0:S}",DateTime.Now));
或类似的东西,该格式给出:" 2008-03-09T16:05:07"所以稍微调整就可以解决你的风格。
答案 1 :(得分:0)
System.Text.Encoding.ASCII.GetBytes( DateTime.Now.ToString("yyMMddhhmm"));