Форматирование только применяется, когда вы пытаетесь получить строковое представление своего DateTime
или вашего TimeSpan
. Разница между этими двумя экземплярами типа не влияет на форматирование.
Если эти значения равны TimeSpan
;
TimeSpan ts1 = new TimeSpan(22, 0, 0);
TimeSpan ts2 = new TimeSpan(7, 0, 0);
TimeSpan result = ts1 - ts2;
result
будет {15:00:00}
как TimeSpan
который имеет 15
как Hour
property.
К сожалению, форматы AM/PM
применимы только к значениям DateTime
не TimeSpan
. A TimeSpan
является временным интервалом .
Например, мы не можем сказать до полудня или после полудня для значения TimeSpan
, потому что это не имеет значения вообще.
Если у вас есть DateTime
ценности, как они (и я думаю, что эти примеры будут соответствовать на ваши ценности, так как вы хотите получить разницу 7 часов между 22:10
и 05:10
)
DateTime dt1 = new DateTime(2015, 2, 21, 5, 10, 0);
DateTime dt2 = new DateTime(2015, 2, 20, 22, 10, 0);
TimeSpan result = dt1 - dt2;
result
будет {07:00:00}
как TimeSpan
который имеет 7
как собственность Hour
.
Несомненно, есть свойство, которое вы можете установить, или какой-то формат, который вы можете проанализировать. Посмотрите также на NodaTime на github –
Вы задаете вопрос о 12-часовом формате, но вы говорите, что 12-часовой формат в порядке? Вы путаете оба случая? – Mario
Разница во времени: 7:00 или 17:00? –