Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 742

 
Большое спасибо.
 

В учебнике написано,что допускается использование усеченного формата значения данных типа datetime .

 Мне нужно значение только времени( час+минута),но не даты. 

Вопрос. Правильно ли я обозначил формат усеченного значения этого типа данных.

 if(K1==-1502&&N== D' 19:00 ' )

return;

Это выражение у меня почему-то,как мне кажется,  не работает. 

 
solnce600:

В учебнике написано,что допускается использование усеченного формата значения данных типа datetime .

 Мне нужно значение только времени( час+минута),но не даты. 

Вопрос. Правильно ли я обозначил формат усеченного значения этого типа данных.

 if(K1==-1502&&N== D' 19:00 ' )

return;

Это выражение у меня почему-то,как мне кажется,  не работает. 

и почему бы не воспользоваться целыми числами
 
solnce600:

В учебнике написано,что допускается использование усеченного формата значения данных типа datetime .

 Мне нужно значение только времени( час+минута),но не даты. 

Вопрос. Правильно ли я обозначил формат усеченного значения этого типа данных.

 if(K1==-1502&&N== D' 19:00 ' )

return;

Это выражение у меня почему-то,как мне кажется,  не работает. 

Поскольку в цитате мой пост, придётся мне и ответить, хотя я и не знаю правильно или нет. Я таким написанием никогда не пользовался.

Да и ещё есть непонятка. Если N имеет тип datetime то D' 19:00 ' это текстовый формат. Можно-ли их сравнивать? Нет. В случаях сравнения времени я пишу

datetime dt;

// где-то присвоение значения этой переменной

if(dt == StringToTime("19:00"))


И не надо забывать о том что усечённый формат даты при преобразовании в тип datetime будет уже полным временем.

Возможно такое сравнение

datetime dt;

// где-то присвоение значения этой переменной

if(TimeToStr(dt, TIME_MINUTES) == "19:00")
 
Vinin:
и почему бы не воспользоваться целыми числами

Спасибо. 

То есть вместо datetime,  обозначить данные типа datetime    типом  int?

 
AlexeyVik:

Поскольку в цитате мой пост, придётся мне и ответить, хотя я и не знаю правильно или нет. Я таким написанием никогда не пользовался.

Да и ещё есть непонятка. Если N имеет тип datetime то D' 19:00 ' это текстовый формат. Можно-ли их сравнивать? Нет. В случаях сравнения времени я пишу


И не надо забывать о том что усечённый формат даты при преобразовании в тип datetime будет уже полным временем.

Возможно такое сравнение

Спасибо.
 
solnce600:

Спасибо. 

То есть вместо datetime,  обозначить данные типа datetime    типом  int?

Тип datetime

Тип datetime предназначен для хранения даты и времени в виде количества секунд, прошедших с 01 января 1970 года. Занимает в памяти 8 байт.

 

Так что можно брать остаток от деления на количество секунд в часах, сутках или  других требуемых отрезков времени. А потом уже сравнивать целое с целым

 
solnce600:

Спасибо. 

То есть вместо datetime,  обозначить данные типа datetime    типом  int?

всегда лучше работает время в общем количестве минут, если оно используется для сравнения с текущим: минут+часов*60+дней*24*60+... и т.д. такое время удобнее и однозначнее использовать в советнике,

19-00 - это 19*60 минут, а 20-30 - это 30+20*60

к примеру текущих часов:

TimeHour(iTime(Symbol(),PERIOD_M1,0))

текущих минут:

TimeMinute(iTime(Symbol(),PERIOD_M1,0))
 
_new-rena:

всегда лучше работает время в общем количестве минут, если оно используется для сравнения с текущим: минут+часов*60+дней*24*60+... и т.д. такое время удобнее и однозначнее использовать в советнике,

19-00 - это 19*60 минут, а 20-30 - это 30+20*60

к примеру текущих часов:

текущих минут:

Большое спасибо.
 
Vinin:

Тип datetime

Тип datetime предназначен для хранения даты и времени в виде количества секунд, прошедших с 01 января 1970 года. Занимает в памяти 8 байт.

 

Так что можно брать остаток от деления на количество секунд в часах, сутках или  других требуемых отрезков времени. А потом уже сравнивать целое с целым

Огромное спасибо.
Причина обращения: