Сравнить время в VBS
Всем привет!
Есть переменная со временем в стандартном формате hh:mm:ss, есть вторая, Код:
nTime = Time Как бы их сравнить? Значение в первой переменной меняется раз в несколько минут. Разумеется будут переходы через 0 часов и надо избежать ошибок типа "с 23:59:40 по 0:01:01 прошло -23 часа...". В другой переменной есть дата, можно в принципе и её задействовать при необходимости. Попалась мне DateDiff, но она почему-то не работает даже у них на сайте... |
Morpheus, у меня получилось без проблем, только для определения времени (точнее даты-времени) я использую функцию Now. Здесь разницу получаю в секундах. По видимому, можно тупо сравнить, что больше, одно время или другое, не используя DateDiff, если не интересна разница.
Код:
a = Now |
Morpheus, а если поточнее, что именно надо сравнивать (физический смысл величин)? Ибо я завсегда пользуюсь именно DateDiff. Суть в том, что сравнивать надо именно полные дату-время (ну, или привести их к этому типу данных).
|
Спасибо! Действительно работает :)
У меня не срабатывало потому, что я не умею задавать переменные. Если точнее, задавал в одной процедуре, а рассчитывал поиспользовать в другой - не вышло :) У них не срабатывало из-за "Jan". Стоило заменить на "01" и поехало. А я достаточно времени потратил на приведение к их формату. Шайсе... Работает только в IE, это нормально? Кстати работает и если сравнивать только время, без даты, но наверное будут траблы при переходе в следующие сутки. |
Morpheus, проблема в том, что для иноязычных пользователей сие как раз может и сработать :).
Именно в VBScript есть ещё одна полезная функция — SetLocale(), иногда помогающая при переводе текстового представления даты/времени в тип дата/время. Например, приведённый пример для нас мог бы выглядеть так (я заведомо привожу избыточный код — для удобства демонстрации; исполнять лучше под «cscript.exe» — много вывода): Код:
Option Explicit И, вот, если в этом коде закомментировать относящееся к «SetLocale()» — мы закономерно получим ошибку времени исполнения на функции преобразования типа «CDate()»: Цитата:
|
Время: 12:54. |
Время: 12:54.
© OSzone.net 2001-