Новая версия сайта: The Bat!
Добрый день
или утро, или ночь, или как там еще...

Многим при создании сообщений хочется видеть что то типа "Доброе утро уважаемый Иван Петрович", когда на дворе 2 часа пополудню и "Добрый вечер Иван Петрович", когда 8 часов вечера. На этой странице мы именно этому и будет обучать нашего любимого Бата.

Итак, время представлено в виде строк, т.е. "8:00", "9:00", "17:00", "5:00".

Сравнивая время, Бат на самом деле сравнивает его строковое представление, а принцип сравнения строк элементарен – сравнение идет посимвольно.

Чем это грозит? А смотрите сами:

(1) Сравним 17:00 и 20:00
Первый символ с строке "17:00", это символ "1"
Первый символ с строке "20:00", это символ "2"

1<2? Ага. Соответственно, 17:00<20:00
(2) Сравним теперь 18:00 и 10:00
Первый символ с строке "18:00", это символ "1"
Первый символ с строке "10:00", это символ "1"

1<1? Нет. 1>1? Нет. 1=1? Да. Переходим ко второму символу

Второй символ с строке "18:00", это символ "8"
Второй символ с строке "10:00", это символ "0"

8<0? Нет. 8=0? Нет. 8>0? Да. Соответственно, 18:00>10:00

В вашем случае ошибки не происходит, все дело в этом самом принципе сравнения. При установленном у вас формате представления даты, у чисел меньше десяти в начале отсутствует лидирующий ноль. И что в итоге?
(1) Сравним 8:00 и 12:00
Первый символ с строке "8:00", это символ "8"
Первый символ с строке "12:00", это символ "1"

8>1? Ага. Соответственно, 8:00>12:00

А как правильно? А вот так:

(2) Сравним 08:00 и 12:00
Первый символ с строке "08:00", это символ "0"
Первый символ с строке "12:00", это символ "1"

0<1? Ага. Соответственно, 08:00<12:00
Чтобы этого избежать, можно воспользоваться средствами последних версий Мышки, которые позволяют явно указывать формат времени и даты.

Предлагаю вот такой вот шаблон:

Good %-
%IF:"%TIME='hh:mm:ss'">"06:00:00":"%IF:'%TIME=""hh:mm:ss""'<'11:59:59':'morning':''"%-
%IF:"%TIME='hh:mm:ss'">"11:59:59":"%IF:'%TIME=""hh:mm:ss""'<'17:59:59':'afternoon':''"%-
%IF:"%TIME='hh:mm:ss'">"17:59:59":"%IF:'%TIME=""hh:mm:ss""'<'23:59:59':'evening':''"%-
%IF:"%TIME='hh:mm:ss'">"00:00:00":"%IF:'%TIME=""hh:mm:ss""'<'05:59:59':'night':''"%-
%IF:"%TIME='hh:mm:ss'"="00:00:00":"night":""%-

A.P.$lasH

Новые версии The bat! | Купить The bat! | О проекте | Скачать The Bat!