linux-c獲取utc時間,並轉為BCD碼格式
阿新 • • 發佈:2018-11-20
原始碼:
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> void UtcBcdTime(char* utc_buf) { time_t lt=0; lt = time(NULL); struct tm * tmp_localtime = localtime(<); utc_buf[0]=(unsigned char)((((tmp_localtime->tm_year-100)/10)<<4)|((tmp_localtime->tm_year-100)%10)); utc_buf[1]=(unsigned char)((((1+tmp_localtime->tm_mon)/10)<<4)|((1+tmp_localtime->tm_mon)%10)); utc_buf[2]=(unsigned char)((((tmp_localtime->tm_mday)/10)<<4)|((tmp_localtime->tm_mday)%10)); utc_buf[3]=(unsigned char)((((tmp_localtime->tm_hour)/10)<<4)|((tmp_localtime->tm_hour)%10)); utc_buf[4]=(unsigned char)((((tmp_localtime->tm_min)/10)<<4)|((tmp_localtime->tm_min)%10)); utc_buf[5]=(unsigned char)((((tmp_localtime->tm_sec)/10)<<4)|((tmp_localtime->tm_sec)%10)); } int main() { int i; char utc_buf[6] ={0}; UtcBcdTime(utc_buf); for( i=0;i<sizeof(utc_buf);i++) { printf("%02x",utc_buf[i]); } printf("\n"); return 0; }
執行:
[email protected]:/home/utc_test# ./test
181104221257
[email protected]:/home/utc_test#