string s = "63 1A 79 7D";
        s = s.Substring(9, 2) + s.Substring(6, 2) + s.Substring(3, 2) + s.Substring(0, 2);
        s=s.Replace("63", "35").Replace("1A", "09").Replace("79", "03").Replace("7D", "09");//需要你把所有的对应都replace下,就是这个原理,至于有简单的写法那你就自己琢磨吧!
        DateTime t = DateTime.ParseExact(s, "MMddhhmm", System.Globalization.CultureInfo.InvariantCulture);

解决方案 »

  1.   

    // 分析了数据结构,应该可以了
    byte[] datetimedata = new byte[4] { 0x63, 0x1A, 0x79, 0x7D };int datetimetick = 0;
    datetimetick |= (int)datetimedata[0];
    datetimetick |= (int)datetimedata[1] << 8;
    datetimetick |= (int)datetimedata[2] << 16;
    datetimetick |= (int)datetimedata[3] << 24;int minute = datetimetick & 63;
    int hour = datetimetick >> 6 & 15;
    int IsPM = datetimetick >> 10 & 1;
    int day = datetimetick >> 11 & 31;
    int month = datetimetick >> 16 & 15;
    int year = datetimetick >> 20;if (IsPM > 0)
    {
    hour += 12;
    }DateTime stockdatetime = new DateTime(year, month, day, hour, minute, 0);
      

  2.   

    数据一共32位,byte[]排列次序是从低位到高位;
    从高位算起,根据在datetimetick内的数据,首12位是年,然后4位表示月,然后5位表示日,然后1位表示上午还是下午(使用12小时计时),然后4位表示小时,然后6位表示分。