Because the measurements can span over multiple days you should create new column which has DATE and TIME combined (you can just sum them together) to avoid issues when day changes.
After that you could use formula like (:DATETIME is the new column you should create). This expects that you want the minimum datetime value of the phase 102:
:DATETIME - Min(:DATETIME[Loc(Current Data Table()[0, {"VARIABLE", "VALUE"}], {"phase", 102})]);
Min(:TIME[Loc(Current Data Table()[0, {"VARIABLE", "VALUE"}], {"phase", 102})]);
is a bit complicated and you should take some time to see what it is doing. Scripting Index will most likely be helpful with this. I can also explain it in more detail if needed. You could also replace Loc function with Get Rows Where which is easier to understand:
Current Data Table() << Get Rows Where(:VARIABLE == "phase" & :VALUE == 102);
but might be slower in some cases.
-Jarmo