#c# #datetime
#c# #дата и время
Вопрос:
Должно быть, я создал так, что у меня есть дата-время, которое добавляется до дня, когда оно должно идти вперед. и тогда у меня есть время, так как оно должно быть установлено в отношении 04/10/16 по 10/09/16
Меня не волнует время, которое находится в datetime. Я не должен использовать его ни для чего. Что мне нужно из этого, так это точное количество дней с этого времени.
Datetime dateString = "4/10/2016 8:30:52" //I pretend that it comes from the database, it was more in terms of see what come there.
DateTime dt = DateTime.Now.AddDays(5);
Что мне нужно из этого, так это то, что он сообщает мне, сколько дней между двумя датами времени, которые я ввел.
Комментарии:
1.сколько дней между двумя датами времени, там есть только один
DateTime
— другой — строка.2. @Plutonix Я притворяюсь, что это происходит из базы данных, это было больше с точки зрения просмотра того, что там появилось.
3. все основные базы данных могут хранить и возвращать даты и время. учитывая 2 значения даты и времени, просто вычтите
Ответ №1:
Вы можете вычитать DateTime
объекты, чтобы получить TimeSpan
:
Datetime dateString = DateTime.Parse("4/10/2016 8:30:52");
DateTime dt = DateTime.Now;
TimeSpan duration = dt-dateString;
Из TimeSpan
объекта вы можете получить, сколько (полных) дней с :
int totalCompleteDays = (int)duration.TotalDays;
Или, если вы хотите получить округленные результаты :
int roundedTotalDays = (int)Math.Round(duration.TotalDays);
Комментарии:
1. Это сработает, но будьте осторожны… он округлит количество дней без какого-либо предупреждения. это означает, что чуть более 3 с половиной дней возвращается как 4 целых дня! 😉
2. Верно @timothy-Groote. Я предположил, что это то, чего хотел автор, но я могу фактически ошибаться. Я обновляю ответ 😉
3. Все в порядке, я думаю, это то, чего он тоже хотел.
4. @BaptisteChardon но его
-2
пример создания у меня не будет-
5. @j-petersen Я не понял, что вы имели в виду под «его примером make-2». Вы имеете в виду отрицательную продолжительность времени?
Ответ №2:
Объекты DateTime поддерживают базовые операторы и будут возвращать TimeSpan
объекты.
DateTime DateTimeB = DateTime.Now.AddDays(5);
DateTime DateTimeA = DateTime.Now;
TimeSpan difference = DateTimeA - DateTimeB;
…
затем вы можете использовать TotalDays
свойство TimeSpan .
…
Console.out.WriteLine(difference.TotalDays);
Комментарии:
1. Я думаю, вы неправильно понимаете мою проблему. вот как я хочу, чтобы из этого вышло количество дней, а не промежуток времени.
2. Я думаю, вы неправильно поняли мой ответ, потому что я объясняю, как получить количество дней из этого временного интервала 😉
3. Ооо, хорошо 🙂 Теперь я понимаю это лучше, после того, как оно было правильным
4. Спасибо за помощь, я надеюсь, что вы дадите мне 1
5. @J.Petersen я сделал, хотя кто-то еще отклонил ваш вопрос.