2012-09-12 73 views
0

我無法將日期設置爲TDateTime變量。C++設置TDateTime變量

我已經試過了,沒有運氣:

TDateTime Mine; 
Mine = ("12/05/1990"); 

我怎樣才能做到這一點?


什麼不對這個代碼:

TDateTime Mine("05/05/1990",Date); 

我收到以下錯誤:

[BCC32錯誤] File1.cpp(28):E2285找不到匹配'TDateTime類型:: TDateTime類型(常量字符*,TDateTime類型(_fastcall *)())' 全解析器上下文 File1.cpp(26):解析:INT主(INT,字符* *)

+0

我假設你正在談論[TDateTime](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/!!OVERLOADED_TDateTime_System__TDateTime.html)。請指定您將來使用的C++庫。 –

+0

嘗試TDateTime(年,月,日); –

回答

3

似乎噸你正試圖在第二行調用構造函數的帽子。

TDateTime Mine("12/05/1990",TDateTime::Date); // construction 
// some code using Mine 
Mine = TDateTime("13/05/1990",TDateTime::Date); // assignment 

如果你想擁有的構造函數只有一個參數,那麼你應該也有這個字符串像TDateTime("12/05/1990 12:00 am")的時間。

+0

謝謝。下一個TDateTime問題。如果我有一個TDateTime值,我該如何做日期算術。我的意思是,如果我有兩個TDateTime變量,如何計算它們之間的時間差,並將此值格式化爲mnth :: dd:hh:mm:ss? –

+0

@DarrylJanecek這很複雜,因爲「一個月」不能表示爲固定的天數。但是如果你只看結果的時間和天數(例如2月1日 - 1月1日= 31天,而不是1個月),你可以減去兩個'DateTimes'(編輯:假設你是不處理'TDateTime(0)'之前的任何日期時間。) – hvd

+0

我正在使用此代碼:TDateTime Mine(「12/05/1990」,Date);而正在此錯誤:E2285找不到匹配 'TDateTime類型:: TDateTime類型(爲const char *,TDateTime類型(_fastcall *)())' –