DateTime
represents both date and time, so really only one variable would be enough:
public DateTime startTimestamp;
You can then create the string representations you want from that single datetime value like this:
string dateValue = startTimestamp.Date.ToString("yyyy-MM-ddTHH:mm:ss");
Problem is that "00000000" is not a valid date, so you need to do your own formatting:
string timeValue = "00000000T" + startTimestamp.ToString("HH:mm:ss");
The question actually is why you want to store the (empty) time part and the (invalid) date part in your XML when you could just store either date and time within one value or date and time in separate values like this:
string dateTimeValue = startTimestamp.ToString("yyyy-MM-ddTHH:mm:ss");
string dateOnly = startTimestamp.ToString("yyyy-MM-dd");
string timeOnly = startTimestamp.ToString("HH:mm:ss");