2015-02-20 2 views
0

У меня есть два времени (получение от времени Picker)Как получить разницу с форматом времени 24 часа?

Time1=22:10 
Time2=05:10 

общей разницы во время, что нужно, как 07:00

, например, из 10:10 pm к 05:10 am есть разница в 7 часов. Подобным образом, я спрашиваю, как найти, если он находится в формате 24 часа?

Как я могу это достичь? В 12-часовом случае я в порядке. Но я не знаю, как это сделать в формате 24 часа? Это веб-приложение.

+0

Несомненно, есть свойство, которое вы можете установить, или какой-то формат, который вы можете проанализировать. Посмотрите также на NodaTime на github –

+0

Вы задаете вопрос о 12-часовом формате, но вы говорите, что 12-часовой формат в порядке? Вы путаете оба случая? – Mario

+0

Разница во времени: 7:00 или 17:00? –

ответ

6

Форматирование только применяется, когда вы пытаетесь получить строковое представление своего 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.

+0

Это действительно интересный подход, причем оба раза являются временными интервалами. Учитывая, что дата не имеет значения, это довольно аккуратно. :) – Mario

+0

@Mario Да, даже если они являются 'DateTime', их вычитание будет« TimeSpan »в результате. Поскольку 'TimeSpan' - это _time interval_, у него нет какой-либо части« AM/PM », даже если мы ее отформатируем. Мы не можем сказать, до полудня или после полудня, как значение «TimeSpan». –

+0

@Soner Gönül, пожалуйста, уточните мой обновленный вопрос –

Смежные вопросы