2011-05-26 69 views
1

我想使用getdate()打印ctime數據的年,月,日,小時,分鐘和秒。有人可以給我一個如何做到這一點的例子嗎?如何用C++語言/ getdate()定義表示時間值的值?

下面是代碼:

how can i define the DATA as a struct date time? 
getdate(&DATE); 
    printf("The year is : %d\n",DATE.da_year); 
    printf("The month is : %d\n",DATE.da_month); 
    printf("The day is : %d\n",DATE.da_day); 

也有人可以告訴我如何從OBJç轉換爲C++以下幾點:

(NSString *)conv_fromDateToString:(NSDate *)normalDate{ //code } 
+0

假設getdate()的意思是這樣的:http://pubs.opengroup.org/onlinepubs/009695399/functions/getdate.html它不會做你認爲它所做的事 - 閱讀文檔。 – 2011-05-26 07:31:42

+0

你能告訴我如何定義一個代表時間值的值嗎?(用C++語言編寫) – marryy 2011-05-26 07:34:35

回答

0

我以前的答案是不正確的。
您可能需要this

+1

這種方式對你有幫助嗎? – 2011-05-26 07:40:16

+0

@Neil:這說明如何構建一個CTime對象以及如何從CTime對象中提取數據,這不是有幫助嗎? – 2011-05-26 07:42:00

+0

@這些CTime和CString是什麼?當然,不是標準C++的一部分。並在Ubuntu上可用?哦,等等,它們是否可以成爲過時的框架的一部分,甚至連其錯誤指導的設計師都不再使用? – 2011-05-26 07:46:00

0
#include <ctime> 
#include <iostream> 
using namespace std; 

int main() { 
    time_t t = time(0); 
    struct tm * p = localtime(& t); 
    cout << "year is " << 1900 + p->tm_year << " day is " << p->tm_wday << endl; 
} 

進一步詳情,請參閱http://www.cplusplus.com/reference/clibrary/ctime/localtime/http://www.cplusplus.com/reference/clibrary/ctime/tm/

+0

THx回答你的答案。如果我不想要現在的時間。如果我有dd mm yy hh mm ss從鍵盤上如何分割它?我也可以有dd/mm/yy ...等等:)。我不知道鍵盤給出的時間格式。 – marryy 2011-05-26 08:03:13

+0

我想創建一個從數據到字符串的數據轉換函數,它需要一個數據並返回yyyy,mm,dd作爲字符串 – marryy 2011-05-26 08:04:29

+0

@marryy如果你不知道格式,你怎麼能期望解析它?我發佈了一個鏈接getdate()函數將解析,但你需要閱讀如何使用它,我們不能爲你做所有事情。 – 2011-05-26 08:07:11

0

我不太確定你在問什麼。如果getdate函數詢問您是 是X/Open函數,那麼它需要char const*作爲 參數;在C++中,通常通過調用c_str(), 和std::string來獲得。這個函數實際上需要一些其他的參數,但是,通過各種不正當的手段;特別是, 環境變量DATEMSK必須已設置,可以通過在啓動應用程序之前使用 或通過從 調用setenv(或putenv)您的應用程序。

請注意,該變量指定文件的名稱,getdate 讀取該文件以獲取解析時間和日期的模板。

該函數返回一個指向tm,標準的Unix破舊 時間和日期的結構。返回空指針以指示 錯誤,並在全局變量getdate_err中顯示錯誤代碼。

所有這些都意味着大量的靜態數據,並且總體上缺乏線程安全性 。這看起來像是Unix功能中的一種,在線程不存在的時代定義爲 ,而從現代角度來看,這些功能基本上是 中斷。然而,在這種情況下,與其他大多數 不同,似乎沒有線程安全替換 。

無論如何,爲的getdate確切規範,請參閱Posix-X/Open specifications, 和用於tm說明書(或struct tm,因爲這是 一個C API部分),見的time.h說明書中的Posix standard或 與c標準。