linux获取本地时间以及转换成time_t类型

1.获取本地时间

string get_time()
{
	string timeStr;
	//time_t t = time(0);
	time_t t = time(NULL);
	char tmp[64];
	strftime( tmp, sizeof(tmp), "%Y-%m-%d %X ",localtime(&t) );// 2017-05-16 17:00:00

	timeStr = tmp;
	return timeStr;
}
2.string时间转换成time_t

time_t convert_string_to_time_t(const std::string & time_string)
{
	struct tm tm1;
	time_t time1;
	sscanf(time_string.c_str(), "%d-%d-%d %d:%d:%d" ,
				&(tm1.tm_year),
				&(tm1.tm_mon),
				&(tm1.tm_mday),
				&(tm1.tm_hour),
				&(tm1.tm_min),
				&(tm1.tm_sec));

	tm1.tm_year -= 1900;
	tm1.tm_mon --;
	tm1.tm_isdst=-1;
	time1 = mktime(&tm1);

	return time1;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
time_t类型Linux系统中用于表示时间,它是一个长整型数值,表示从1970年1月1日0时0分0秒到当前时间所经过的秒数。因此,time_t类型的数值可以用于计算时间间隔、时间戳等操作。 为了方便显示和处理时间,我们通常需要将time_t类型的数值转换为字符串表达方式。在Linux系统中,可以使用ctime函数将time_t类型的数值转换为字符串,具体用法如下: ```c char *ctime(const time_t *timep); ``` 其中,timep是指向time_t类型数值的指针,函数返回一个指向表示时间的字符串的指针。 除了ctime函数,还有其他一些函数可以将time_t类型的数值转换为字符串,如strftime函数、asctime函数等,它们各有特点,可以根据需要进行选择和使用。 此外,还有一个重要的数据结构struct tm,它用于表示一个日期和时间,并且提供了一些函数可以将time_t类型的数值转换为struct tm类型的日期和时间。在使用struct tm时,需要注意时区的问题,因为不同的时区可能会导致日期和时间的不同。 在Linux系统中,可以使用gmtime和localtime函数将time_t类型的数值转换为struct tm类型的日期和时间。这两个函数的区别在于,gmtime函数根据GMT时区计算日期和时间,而localtime函数根据本地时区计算日期和时间。函数的具体用法如下: ```c struct tm *gmtime(const time_t *timep); struct tm *localtime(const time_t *timep); ``` 其中,timep是指向time_t类型数值的指针,函数返回一个指向struct tm类型日期和时间的指针。 最后,如果需要比秒更精确的表达,可以使用struct timeval结构体来表示时间,它包括了秒和微秒两个部分。在Linux系统中,可以使用gettimeofday函数获取当前时间并以struct timeval类型表示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值