#C#, 125 Bytes
using System;class P{static void Main(){for(;;)Console.Write("\r{0:d\\:h\\:mm\\:ss}",new DateTime(2019,3,31)-DateTime.Now);}}
Ungolfed code:
using System;
class P
{
static void Main()
{
for(;;)
Console.Write("\r{0:d\\:h\\:mm\\:ss}",new DateTime(2019,3,31)-DateTime.Now);
}
}
I would not have figured out the \r trick without help from the other C# answers here.
For anyone looking for further improvement, you can also put the Write() expression inside the for loop. Seems like I should be able to save a byte somehow here, because that saves me the semi-colon for that statement, but it works out to the same number because you can't have a fully empty body:
using System;class P{static void Main(){for(;;Console.Write("\r{0:d\\:h\\:mm\\:ss}",new DateTime(2019,3,31)-DateTime.Now));}}