2011-03-30 17 views
4

在C/C++,假设我有以下值:转换月/日/年/时间在C的timeval/C++

int year = 2010; 
int month = 6; 
int day = 15; 
int hour = 14; 
int minute = 52; 
int seconds = 34; 
int microseconds = 141231; 

什么是将此转换为timeval中最简单的方法是什么?我认为timeval是1970年1月1日以来的时间?但是每次手动计算这个似乎都非常繁琐。什么是最简单(最快)的方法来做到这一点?

谢谢

+1

'boost :: date_time'? – AJG85 2011-03-30 21:31:56

回答

4

你可能想看看std::mktime()

+0

'std :: mktime()'通常既不需要也不会产生任何与微秒相关的东西,请参阅原文。 – Jonas 2017-09-18 18:33:13

8

您可以使用mktime(3)struct tm结构转换为time_t。在拥有time_t之后,您可以将它和您的微秒值直接复制到struct timeval结构中。

相关问题