Меня немного смущает вопрос, является ли это просто проблемой форматирования или чем-то другим. Но вот удар в это ...
C # версия
DateTime dateX = DateTime.Now;
String formattedString = String.Format("PT{0}H{1}M" , dateX.Hour, dateX.Minute);
VB версия (можно игнорировать! Извините)
Dim dateX as DateTime = DateTime.Now
Dim formattedString as string = String.Format("PT{0}H{1}M" , dateX.Hour, dateX.Minute)
Вывод будет: PT19H51M