Вы говорите, что метка времени UTC равна «2004-09-16T23: 59: 58.75»?
Итак, вы в основном делаете
var x = "2004-09-16T23:59:58.75" - 123456
Теперь, когда вы пояснили, что вышеупомянутое не относится. Ваша новая проблема - это количество миллисекунд в прошлом, поэтому при расчете разницы вы получаете отрицательное число. Вы, вероятно, хотите поменять порядок.
var difference = new Date().getTime()-data.List[0].EndDate;