Member 13296293 Ответов: 1

Как я могу найти разницу между двумя значениями времени в 12 часовом формате в ASP.NET с C#


я хочу найти
difference between two times
разница в час..

Что я уже пробовал:

checkouttime =  Convert.ToDateTime(ds.Tables[0].Rows[0]["Check_InTime"].ToString());
           string time1 = checkouttime.ToShortTimeString();
           string time = DateTime.Now.ToShortTimeString();

DateTime dtcheckout = DateTime.Parse(time1);
            DateTime dtnow = DateTime.Parse(time);

            TimeSpan span = (dtcheckout - dtnow);

F-ES Sitecore

Одна вещь, которую вам нужно понять, заключается в том, что даты и время не имеют "формата", они представляют собой момент времени, они имеют формат только тогда, когда вы преобразуете их в строку, чтобы показать их пользователю. Таким образом, взятие DateTime и преобразование его в строку с помощью ToShortTimeString, а затем преобразование его обратно в DateTime ничего не делает. Поэтому, как только у вас есть переменные DateTime, делайте с ними все, что хотите, то же самое с TimeSpan и думайте о форматах только тогда, когда хотите показать результаты пользователю.

1 Ответов

Рейтинг:
1

OriginalGriff

Почему вы преобразуете значения DateTime в строки, чтобы затем преобразовать их обратно в DateTime для работы с ними?
Храните их как DateTime и преобразуйте в string только тогда, когда вам нужно представить их пользователю.

И поскольку вы не говорите нам, с какой проблемой вы сталкиваетесь - код должен работать и именно так вы находите разницу, - я должен предположить, что это так:
Почему вы считываете время регистрации в переменную под названием <pre>checkouttime</pre>?

checkouttime =  Convert.ToDateTime(ds.Tables[0].Rows[0]["Check_InTime"].ToString());
Я подозреваю, что вы просто используете не ту колонку ...