2014-05-06 38 views
0

我想這樣的日期today, 10.00 A.M.轉換爲time_t什麼是做到這一點最簡單的方法,我寫這樣的代碼(未測試):轉換特定日期(如「今天上午10點),以time_t的

time_t  now = time(0); 

struct tm tstruct; 
tstruct = *localtime(&now); 
tstruct.tm_hour = 10; 
tstruct.tm_min = 0; 
tstruct.tm_sec = 0; 

time_t todayTenOClock = mktime(&tstruct); 

這裏我轉換time_ttstruct設定的時間點到10點,並轉換回time_t。您能否提供一些比這更簡單?

回答

0

我相信你應該使用一個庫爲或寫一個小的腳本,它的today解析。大多數圖書館只做絕對錶示,如Monday。 此外,爲了這樣做,time_get是一個很好的起點,因爲它在標準中。

另一種簡單的解析方式是使用sscanf

int hour, min; 
sscanf(buffer, "today, %2d:%2d", 
    &hour, 
    &min); 
+0

我沒有「today,10:00」這樣的字符串。它在我心中。我只需要在我的程序中將「今天,10:00」表示爲time_t。例如,我知道店鋪今天10點開門,我需要'time_t shopOpenTime'在我的程序中。 – javapowered