string data = "121030"
string time = "192555"如何分别存入2byte的空间?格式如下:数据项 数据类型       长度(bit)          数据项说明
Year bit15~bit9 7          年0~99(2000~2099)
Month bit8~bit5          4          月1~12
Day bit4~bit0          5          日1~31
数据项 数据类型       长度(bit)       数据项说明
Hour bit15~bit10 5          时0~23
Minute bit9~bit5          6          分0~59
Second bit4~bit0          5          2秒 0~29这个具体怎么做啊?

解决方案 »

  1.   

    DateTime old = DateTime.Now;
    int date = 0;
    date = (date | old.Year - 2000) << 4;
    date = (date | old.Month) << 5;
    date = (date | old.Day);
    int time = 0;
    time = (time | old.Hour) << 6;
    time = (time | old.Minute) << 5;
    time = (time | old.Second);
    Int32 datetime = (date << 16) | time;
      

  2.   

    给你写出一个类,另一个你自己仿照着写就好了
            public class myDate
            {
                private ushort _value;  //  这个用于保存值            public int Year    //  这个属性设置或读出年度码
                {
                    set
                    {
                        if (value <= 2099 || value >= 2000)
                        {
                            int temp = value % 100;
                            _value = (ushort)((temp << 9) | (_value & 0x1ff));
                        }
                    }
                    get { return (_value & 0xfe00) >> 9; }
                }            public int Month    //  这个是月份
                {
                    set
                    {
                        if (value <= 12 || value >= 1)
                            _value = (ushort)((value << 5) | (_value & 0xfe1f));
                    }
                    get { return (_value & 0x1e0) >> 5; }
                }            public int Day    //  这个是日期
                {
                    set
                    {
                        if (value <= 31 || value >= 1)
                            _value = (ushort)(value | (_value & 0xffe0));
                    }
                    get { return _value & 0x1f; }
                }            public string Value    //  这个用于将指定格式的字符串装入本类对象,没做正确性检验的
                {
                    set
                    {
                        if (value.Length == 6)
                        {
                            Year = Int32.Parse(value.Substring(0, 2));
                            Month = Int32.Parse(value.Substring(2, 2));
                            Day = Int32.Parse(value.Substring(4, 2));
                        }
                    }
                }
            }
      

  3.   

    应用myDate类的例子
            static void Main(string[] args)
            {
                myDate md=new myDate();
                md.Value = "121030";
                Console.WriteLine(md.Year);
                Console.WriteLine(md.Month);
                Console.WriteLine(md.Day);
            }