Рейтинг:
20
Richard MacCutchan
Почему вы используете строки для сравнения, а не значения DateTime? И почему вы так часто преобразуете значения DateTime в строки и обратно?
Получите значение из вашей сетки и проанализируйте его до даты-времени, если оно уже не хранится таким образом. Затем вы можете сравнить часть даты с DateTime.Now.
if (dt1.Date == DateTime.Now.Date)
// ...
ADI@345
я внес изменения, но они работают только на локальном хосте, а не на сервере..
Richard MacCutchan
Что это значит? Вам нужно показать точный код, который работает на сервере, и точно объяснить, что означает "не работает".
ADI@345
формат даты сервера отличается от localhost, поэтому я не могу найти текущий формат даты сервера..Я пробую все форматы, но ни с кем не работаю..
Richard MacCutchan
Вот почему я сказал вам не использовать сравнение строк. Значения DateTime - это единственный полезный способ сравнения дат и времени. Если вы не понимаете этого, то у вас будут проблемы с каждой системой, над которой вы работаете.
ADI@345
SqlConnection con = новый SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].Параметр connectionString);
строка имя пользователя = GVmydsr.DataKeys[электронный.Параметр rowindex].Значение.Метод toString();
GridViewRow row = (GridViewRow)GVmydsr.Rows[e.Параметр rowindex];
Дата метки = строка (метка).FindControl("lblcurrentdate");
строка cdate = date.Text.Метод toString();
Дата1 датавремя = Датавремя.Параметр minvalue;
значение datetime.TryParseExact(cdate.Split(' ')[0], new string[] {"MM/dd/yyyy"}, null, System.Глобализация.DateTimeStyles.Нет, дата выхода 1);
DateTime dt1 = date1;
GVmydsr.EditIndex = -1;
Ст2 датавремя = Датавремя.Сегодня.Дата;
если (dt1 == dt2)
{
//мой код
}
еще
{
Элемента управления scriptmanager.RegisterStartupScript(this, GetType(), "Success", "alert('Cannot Edit !!!.');", true);
gvbind();
}
сэр, я заменяю свой код вашим кодом, но снова сталкиваюсь с той же проблемой.
здесь dt1 и dt2 - это дата-время..
Richard MacCutchan
Затем вам нужно использовать свой отладчик, чтобы точно увидеть, какие значения содержатся в dt1 и dt2.
ADI@345
как я могу отлаживать свой код на сервере , он прекрасно работает на локальном хосте.
ADI@345
Оки, наконец-то это сработало, спасибо..
Рейтинг:
1
OriginalGriff
Цитата:
я внес изменения, но они работают только на локальном хосте, а не на сервере..
Скорее всего, ваш сервер и клиент находятся в разных часовых поясах: сделайте так, как предлагает Ричард, и используйте значения даты и времени, но преобразуйте все ваши значения даты и времени в UTC, прежде чем хранить их в своей базе данных и делать какие-либо сравнения. DateTime c=имеет метод для этого (
значение datetime.Метод Touniversaltime (Система)[
^]) но вам нужно будет каждый раз узнавать, в каком часовом поясе находится клиент - вы не можете просто конвертировать его на сервере с помощью сервера TZ - помните, что клиенты могут находиться не в одном часовом поясе друг с другом!
- Я? Я бы сделал все штамповки даты и времени на сервере, в UTC и игнорировал клиентские значения везде, где это возможно.