字符串格式转换/时间戳转换/进制转换

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;
}

扫描二维码关注公众号,回复: 16153622 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_47041339/article/details/126072199