Рассчитать старение в ASP.NET с даты подачи заявки
Привет,
Я разрабатываю проект, и для этого мне нужно рассчитать "старение". Старение будет отображаться на другой странице и должно увеличиваться с каждым днем.
Старение будет рассчитываться как (дата подачи формы-сегодняшняя дата).И когда форма отправлена, старение также сохраняется в базе данных SQL.
То, что я сделал до сих пор, заключается в том, что в событии нажатия кнопки отправки я сохранил дату отправки формы в переменной "сейчас". И чтобы вычислить возраст, я вычел из него сегодняшнюю дату.
Ниже приведен мой код
string Ageing = (DateTime.Today.Subtract(Convert.ToDateTime(now)).TotalDays).ToString();
Но проблема в том, что она не увеличивается с каждым днем. Например, если пользователь отправляет дело сегодня i-e (5-Oct-2016), и первоначально старение должно быть 0, потому что форма даты отправлена и текущая дата одинакова, поэтому после вычитания их оно должно быть 0. Но когда пользователь приходит завтра i-e (6-Oct-2016) и проверяет старение, оно должно быть 1 и должно автоматически увеличиваться с каждым днем.
Пожалуйста, помогите, ваша помощь будет высоко оценена.
Что я уже пробовал:
Я пробовал использовать вышеупомянутый код, но всякий раз, когда пользователь отправляет форму. Он сохраняет старение как 0,и оно никогда не увеличивается.
Я хочу, чтобы она увеличивалась с каждым днем.
Например, если дело было подано 2 октября 2016 года, а сегодня 5 октября 2016 года, то оно должно показать старение как 3. (так как (5 октября 2016 года) - (2 октября 2016 года) = 3)
[no name]
Мне действительно трудно представить, что вы делаете, так как мы не видим кода, но на самом деле это звучит так, как будто при отправке формы вы устанавливаете переменную "сейчас" на текущую дату, а затем вычитаете ее из текущей даты....? И ожидал чего-то другого, кроме 0. Это примерно так?
Faran Saleem
Нет, думаю, я не совсем правильно объяснил.
То, что я пытаюсь сделать, - это рассчитать старение на основе даты, когда форма была отправлена, минус текущая дата.
Теперь предположим, что форма была отправлена 2 октября 2016 года, поэтому, когда пользователь отправляет форму 2 октября 2016 года, он должен рассматривать старение как 0, потому что дата отправки формы и текущая дата совпадают, поэтому результат равен 0.
Но когда пользователь посещает страницу на следующий день, то есть 3 октября 2016 года, и видит отправленные формы, то старение должно быть 1, потому что форма была отправлена 2 октября 2016 года, а пользователь видит форму 3 октября 2016 года, так что разница составляет 1 день, а старение в этом случае должно быть 1. И точно так же, когда пользователь просматривает форму 4 октября 2016 года, старение должно быть 2, а также для 5 октября 2016 года старение должно быть 3, потому что форма была отправлена 2 октября 2016 года, а текущая дата-5 октября 2016 года, поэтому он должен рассчитать разницу между этими двумя датами.
Я надеюсь, что я очистил ваше замешательство, если есть еще какие-либо вопросы, пожалуйста, спросите
[no name]
Да я понимаю, что. Что вы хотите делать и что вы являются делать-это две разные вещи. Где вы храните эту дату подачи, чтобы вы могли получить ее позже,чтобы сделать свой расчет старения?
Faran Saleem
Я храню его в базе данных SQL.
[no name]
Что ж, тогда вам будет довольно легко отладить свой код и выяснить, где он идет не так. Мы не сможем сказать вам ничего из одной строки кода, почему ваш код ведет себя не так, как вы ожидаете.
Faran Saleem
Я понял, почему он ведет себя не так, как должен, причина в том, что старение на основе текущей даты и даты отправки формы вычисляется по событию отправки кнопки. Таким образом, всякий раз, когда пользователь нажимает кнопку отправки, старение вычисляется как 0, потому что в этот момент текущая дата и дата отправки формы совпадают. Но он никогда не будет увеличиваться, пользователь будет видеть старение как 0, даже если он посетит страницу через 10 дней, так как старение вычисляется только при нажатии кнопки Отправить.
Я не могу создать логику, в которой пользователь отправляет форму, и старение будет увеличиваться с каждым днем.
Вот почему мне нужна помощь.
[no name]
Окей.... Я не уверен, почему это проблема.... Сохраните дату в своей базе данных один раз. Получите дату из базы данных, когда вам нужно рассчитать старение.
[no name]
В вашем описании говорится, что вы сохраняете текущую дату в своей базе данных каждый раз, когда форма отправляется. Если это правда, то есть ваша проблема.
Faran Saleem
Да, именно это и происходит.. как я могу решить эту проблему? не могли бы вы проводить меня?
[no name]
Сохраните дату в своей базе данных один раз. Получите дату из базы данных, когда вам нужно рассчитать старение.