Замена для EncodeTime или DecodeTime в Delphi Prism - PullRequest
0 голосов
/ 29 августа 2011

В Delphi Win32 у вас есть функции EncodeTime и DecodeTime для управления данными или переменными DateTime.Есть ли функции, подобные этим в DELPHI Prism?Если нет, как бы вы это сделали?

Например, вы хотите добавить две переменные даты и времени (A и B) вместе, увеличив B на один день.

Спасибо,

1 Ответ

2 голосов
/ 30 августа 2011

Вы должны использовать тип 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);

Чтобы декодировать DateTime, вы должны использовать свойства Year, Month, Day, Minute и Second.

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

Теперь, чтобы изменить Datetime, добавляя дни, годы или другой диапазон, вы можете использовать методы AddYears, AddMonths, AddDays и и так далее.

//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);
...