2015-10-08 3 views

ответ

0

Помимо того, что Марк подразумевал, что дата «123456» может нарушить намерение вашего обработчика и то, что вы уже знаете, что существует несколько форматов даты, вы также можете проверить ввод пользователя на Нижний уровень.

Я имею в виду, что если бы я писал процедуру проверки, я бы НЕ разрешил «123456», считая это ошибкой ввода данных. Таким образом, вы, вероятно, захотите проверить формат самой строки, убедившись, что она «отображается» как действительная дата, а также фактически является допустимой датой.

0

Если вы хотите использовать локальный формат даты, вам необходимо установить 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) 

Однако иногда это может быть не то, что вы хотите. Если вы предоставите более подробную информацию, я смогу придумать лучшее решение.

+0

Спасибо, Марк. Я проверил ваш код с помощью поля ответа «txtDate» - это дата. Это верно для 123456, true для 12/13/15, false для 13/12/15, false для 12/34/56. Поэтому код необходимо уточнить, чтобы он был неверным для американской даты и цифр. – Sheils

+0

123456 - 11:17:36 AM Пт, 2 янв 1970 11:17:36 +0100 в секундах. Итак, это дата. Вы можете проверить целые числа и установить useSystemDate в true. Если вы напишете в своем вопросе именно то, что хотите, я мог бы дать лучший ответ. – Mark