Hint: How many minutes are there between 2:00 and 7:00?

Answer: 65 minutes.

There are 300 minutes between 2:00 and 7:00 and we can ignore the "40 minutes ago" for a little while and share the remaining 260 minutes in the ratio 3:1, which is 195:65.

Which means the 5 hours between 2:00 and 7:00 are made of up 195 minutes + 40 minutes + 65 minutes.

Which means it is currently 65 minutes before 7:00. So it is now 5:55 (65 minutes before 7:00).

To double check, 40 minutes ago it was 5:15 - which is 195 minutes after 2:00, as required (as 65 x 3 = 195).