Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как сравнить время / 11 сообщений из 11, страница 1 из 1
13.10.2014, 11:53
    #38774900
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
нужно выбрать все данные за интервал с 8 утра до 8 ми вечера
...
Рейтинг: 0 / 0
13.10.2014, 12:12
    #38774923
DS53
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
откуда выбираются данные? таблица БД? или датагрид на форме?


всё сравнивается с помощью знаков > < = !
...
Рейтинг: 0 / 0
13.10.2014, 12:13
    #38774924
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
датагрид. мне нужно сравнить время и обрезать дату
...
Рейтинг: 0 / 0
13.10.2014, 12:28
    #38774954
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
вот так придумал. как правильно то?
Код: c#
1.
2.
3.
4.
5.
6.
7.
  int smen;
                DateTime dat = Convert.ToDateTime(dt.Rows[xx][0].ToString());
                DateTime tim = Convert.ToDateTime("2014-10-07 08:00:00");
                DateTime tim2 = Convert.ToDateTime("2014-10-07 20:00:00");
                if (Convert.ToDateTime(dat.ToLongTimeString()) > Convert.ToDateTime(tim.ToLongTimeString()) && Convert.ToDateTime(dat.ToLongTimeString()) < Convert.ToDateTime(tim2.ToLongTimeString()))
                    smen = 2;
                else smen = 1;
...
Рейтинг: 0 / 0
13.10.2014, 12:29
    #38774957
DS53
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
DateTime left = DateTime.Today;
left = left.AddHours(8);
DateTime right = DateTime.Today;
right = right.AddHours(20);

if( ((DateTime)treeGridView["ColumnDate",rowIndex].Value)>=left &&  ((DateTime)treeGridView["ColumnDate",rowIndex].Value)<=right )
{
//делай что надо
} 



Такой прямой каст допустим, если тип столбца жестко определен и там всегда будет DateTime. Иначе - используй DateTime.TryParse()
В общем, основные идеи я определил. Дальше - оптимизируй, упрощай if, делай решение изящнее
...
Рейтинг: 0 / 0
13.10.2014, 12:34
    #38774972
DS53
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
des1roerвот так придумал. как правильно то?


Код: c#
1.
2.
3.
4.
5.
6.
7.
  int smen;
                DateTime dat = Convert.ToDateTime(dt.Rows[xx][0].ToString());
                DateTime tim = Convert.ToDateTime("2014-10-07 08:00:00");
                DateTime tim2 = Convert.ToDateTime("2014-10-07 20:00:00");
                if (Convert.ToDateTime(dat.ToLongTimeString()) > Convert.ToDateTime(tim.ToLongTimeString()) && Convert.ToDateTime(dat.ToLongTimeString()) < Convert.ToDateTime(tim2.ToLongTimeString()))
                    smen = 2;
                else smen = 1;




зачем ты еще в if что-то конвертируешь, если у тебя и так все переменные уже в нужном типе
в .net для всех типов данных есть реализации интерфейсов сравнивания.
...
Рейтинг: 0 / 0
13.10.2014, 12:52
    #38775001
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
Код: c#
1.
DateTime.Today;


а ничего что у меня не обязательно дата - сегодня?
...
Рейтинг: 0 / 0
13.10.2014, 12:58
    #38775016
DS53
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
des1roer
Код: c#
1.
DateTime.Today;


а ничего что у меня не обязательно дата - сегодня?
я не в курсе, как у тебя задание стоит.
http://msdn.microsoft.com/ru-ru/library/vstudio/system.datetime(v=vs.100).aspx
используй третий конструктор
...
Рейтинг: 0 / 0
13.10.2014, 13:33
    #38775077
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
ответ

Код: c#
1.
date.Hour > 7 && date.Hour < 20
...
Рейтинг: 0 / 0
13.10.2014, 13:41
    #38775090
DS53
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
des1roerответ

Код: c#
1.
date.Hour > 7 && date.Hour < 20


ага, только так у тебя идет сравнение только по часам, а дни могут быть разные.
короче, все уже написано в топике. Можно закрывать
...
Рейтинг: 0 / 0
13.10.2014, 14:47
    #38775183
des1roer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сравнить время
в том и соль.
а так еще лаконичнее
Код: c#
1.
2.
    int h = Convert.ToDateTime(dt.Rows[xx][0].ToString()).Hour;
                int smen = h > 7 && h < 20 ? 2 : 1;
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как сравнить время / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]