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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tursun225

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值