2011-05-25 105 views
1

我有一個方法s,它具有日期時間參數。如何獲取本地時間並將其放入字符串

如何在C++中編寫它?

c#是:

string s(System.DateTime sd); 

編輯! 如何調用S方法?另外一個問題是:如何將字符串值中的時間轉換爲:日,月,小時,分鐘,以及其他字符串秒?

+3

請停止標記與該操作系統無關的事情'ubuntu'。你碰巧使用它是不夠的! – 2011-05-25 15:02:09

+0

@Tomalak Geret'kal:這只是因爲你知道正確的答案(即'gmtime()')是一個標準的C++函數。對於一個類似的合理問題,「白天何時開始?」由於沒有ISO C++解決方案,因此瞭解您是在尋找Ubuntu還是Windows的答案非常重要。 – MSalters 2011-05-26 12:34:51

回答

3

只是一個例子。谷歌爲time.h下面是僞代碼:

#include <time.h> 

string getTime() 
{ 
    time_t timeObj; 
    time(&timeObj); 
    tm *pTime = gmtime(&timeObj); 
    char buffer[100]; 
    sprintf(buffer, "%d%d%d", pTime->tm_hour, pTime->tm_min, pTime->tm_sec); 
    return buffer; 
} 
+0

以及如何從int main調用該方法? – marryy 2011-05-25 14:00:04

+0

@marryy,看編輯的代碼...並嘗試自己 – iammilind 2011-05-25 14:08:37

+0

的事情是,我的方法需要作爲參數時間給我,我猜是一個長期的價值:)。所以我需要有字符串getTime(這裏是我想要在秒,h,年拆分的時間...... – marryy 2011-05-25 14:25:36

3

看看Boost Posix Time

它提供了一整套類來有效和可靠地處理日期,時間,持續時間和解析。

2
char time_buf[21]; 
time_t now; 
time(&now); 
strftime(time_buf, 21, "%Y-%m-%dT%H:%S:%MZ", gmtime(&now)); 

Here

+0

-1:詢問當地時間的問題。 – 2014-05-30 09:21:37

3

您可以使用<ctime>庫趕上當前時間:

time_t rawtime = time(&rawtime); 
struct tm *timeinfo = localtime(&rawtime); 

現在你有,你可以從中取不同值timeinfo結構變量。更多信息here

相關問題