Я получаю код для проверки содержимого поля в livecode и определения, является ли это значение датой или значением времени.Как проверить, что значение является допустимой датой в livecode
ответ
Помимо того, что Марк подразумевал, что дата «123456» может нарушить намерение вашего обработчика и то, что вы уже знаете, что существует несколько форматов даты, вы также можете проверить ввод пользователя на Нижний уровень.
Я имею в виду, что если бы я писал процедуру проверки, я бы НЕ разрешил «123456», считая это ошибкой ввода данных. Таким образом, вы, вероятно, захотите проверить формат самой строки, убедившись, что она «отображается» как действительная дата, а также фактически является допустимой датой.
Если вы хотите использовать локальный формат даты, вам необходимо установить useSystemDate
на номер true
.
set the useSystemDate to true
put "123456" into myDate
put (myDate is a date and myDate is not an integer)
put ("12/12/15" is a date and myDate is not an integer)
Однако иногда это может быть не то, что вы хотите. Если вы предоставите более подробную информацию, я смогу придумать лучшее решение.
Спасибо, Марк. Я проверил ваш код с помощью поля ответа «txtDate» - это дата. Это верно для 123456, true для 12/13/15, false для 13/12/15, false для 12/34/56. Поэтому код необходимо уточнить, чтобы он был неверным для американской даты и цифр. – Sheils
123456 - 11:17:36 AM Пт, 2 янв 1970 11:17:36 +0100 в секундах. Итак, это дата. Вы можете проверить целые числа и установить useSystemDate в true. Если вы напишете в своем вопросе именно то, что хотите, я мог бы дать лучший ответ. – Mark