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


всё сравнивается с помощью знаков > < = !
...
Рейтинг: 0 / 0
как сравнить время
    #38774924
Фотография des1roer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
датагрид. мне нужно сравнить время и обрезать дату
...
Рейтинг: 0 / 0
как сравнить время
    #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
как сравнить время
    #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
как сравнить время
    #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
как сравнить время
    #38775001
Фотография des1roer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
DateTime.Today;


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


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

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

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


ага, только так у тебя идет сравнение только по часам, а дни могут быть разные.
короче, все уже написано в топике. Можно закрывать
...
Рейтинг: 0 / 0
как сравнить время
    #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
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как сравнить время
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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