不知道你要取什么样的时间格式,我就说下数字转化为2进制吧。Integer.toBinary(int i);这个方法可以将10进制转化为2进制显示。
不知道你是要求什么样的编程语言。
我使用的是c语言,直接定义一个3字节的数组,0存放年,1存放月,2存放日。
unsigned int intToBcd(unsigned int i){
unsigned int o=0, m=1;
while(i>0){
o+=i%10*m; m<<=4; i/=10;
}
return o;
}
void bcdDate(unsigned char a[], struct tm *t){
a[0]=intToBcd(t->tm_year);
a[1]=intToBcd(t->tm_mon+1);
a[2]=intToBcd(t->tm_mday);
}
int main(int argc, char** argv)
{
struct tm *t;
time_t ts;
time(&ts);
t=localtime(&ts);
unsigned char a[3]; //3个字节
bcdDate(a,t);
printf("%X-%X-%X",a[0],a[1],a[2]);
return 0;
}
======
12-07-09