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这个具体怎么做啊?
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这个具体怎么做啊?
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;
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));
}
}
}
}
static void Main(string[] args)
{
myDate md=new myDate();
md.Value = "121030";
Console.WriteLine(md.Year);
Console.WriteLine(md.Month);
Console.WriteLine(md.Day);
}