time

time(): Time;

The time method of the TimeStamp primitive type returns a time that is the same as the time part of the receiver.

If you change the time returned by the time method using the setTime method of the Time primitive type, you are not actually changing the time part of the timestamp.

vars
    ts : TimeStamp;
begin
    ts.time.setTime(09,10,11,999);  // does not change ts

To change the time part of a timestamp, use the setTime method of the TimeStamp primitive type:

vars
    ts : TimeStamp;
    t  : Time;
begin
    t.setTime(09,10,11,999);
    ts.setTime(t);                  // does change ts