1.标准格式化时间转linux时间戳
/*****************************************************************************
参数: 年月日时分秒
参数: zone 输入时间的时区
返回值: 时间戳
*****************************************************************************/
long formatTimeToTimeStamp(unsigned short yyyy,unsigned char mm,unsigned char dd,unsigned char hh,unsigned char mimi,unsigned char ss,char zone)
{
struct tm stm;
memset(&stm,0,sizeof(stm));
stm.tm_year=yyyy-1900;
stm.tm_mon=mm-1;
stm.tm_mday=dd;
stm.tm_hour=hh;
stm.tm_min=mimi;
stm.tm_sec=ss;
return mktime(&stm) - (int)zone*3600;
}
2. linux时间戳转标准格式化时间
/****************************************************************
参数: pbuff 结构体
参数: stmap 时间戳
参数: zone 时区
返回类型: 无
****************************************************************/
void UnixTime_StampTo_Date(void *pBuff, long stamp, char zone)
{
time_t t;
struct tm *lt;
// t = stmap + zone*3600; //加上时区 如东八区 ,则是加8个小时
t = stmap;
lt = localtime(&t);
pbuff.year = lt->tm_year+1900;
pbuff.mon = lt->tm_mon+1;
pbuff.day = lt->tm_mday;
pbuff.hour = lt->tm_hour;
pbuff.min = lt->tm_min;
}
3.16进制转字符串
/*************************************************************************
* 参数1: 16进制数
* 参数2: 16进制长度
* 参数3: 转换结果str
返回类型: 无
********************************************************************** */
void hex_TabTo_Str(unsigned char *hex_tab,unsigned int lenth,char * str)
{
unsigned int i=0;
for(i=0;i<lenth;i++)
{
sprintf(str+i*2,"%02X", hex_tab[i]);
}
}
4.int类型转字符串
/******************************************************
* 参数1: 输出数组
* 参数2: 输入int
* 返回类型: None.
****************************************************/
void int_ToArray(unsigned char* array,unsigned int d)
{
unsigned char i=0;
for(i=0;i<4;i++)
{
array[i] = (unsigned char)(d >> ((3-i)*8));
}
}
5.数组转int类型
/*********************************************************************
* 参数1: 输出int
* 参数2: 输入数组
* 返回类型 None.
**********************************************************************/
void array_ToInt(unsigned int d,unsigned char* array)
{
d=(((unsigned int)array[0])<<24) +(((unsigned int)array[1])<<16) +(((unsigned int)array[2])<<8) + (((unsigned int)array[3])<<0);
d=d;
}