2011-08-29 68 views
0

在Delphi Win32中,您有EncodeTime和DecodeTime函數來操作DateTime數據或變量。在DELPHI Prism中是否有類似的功能?如果不是,你會怎麼做?替換爲Delphi Prism中的EncodeTime或DecodeTime

例如,您希望在將B增加一天之後,將兩個日期時間變量(A和B)一起添加。

感謝,

回答

2

您必須使用DateTime類,這個類有許多構造函數,你可以用它來編碼日期時間。

例編碼一個DateTime

Var 
    ADateTime : DateTime; 
begin 
    //to enconde 29 August 2011 
    ADateTime:=new DateTime(2011,8,29); 

    //to enconde 29 August 2011 , 23:30 
    ADateTime:=new DateTime(2011,8,29,23,30,0); 

解碼,您必須使用屬性年,月,日,分鐘和秒日期時間。

var AYear : Integer:= ADateTime.Year; 
    var AMonth : Integer:= ADateTime.Month; 
    var ADay : Integer:= ADateTime.Day; 

我們修改日期時間加入天,年或其他範圍則可以使用方法AddYearsAddMonthsAddDays等。

//add a year to the date stored in the ADateTime variable 
Var NewDateTime: DateTime:= ADateTime.AddYears(1); 

//substract a month to the date stored in the ADateTime variable 
Var NewDateTime: DateTime:= ADateTime.AddMonths(-1); 
+0

@ RRUZ,從這個我認爲你不能只用時間變量(小時,分,秒,毫秒)工作。所以,你總是必須包括日期(年,月,日)和時間。如果沒有,只是日期。 – ThN