% % stack: date-str % length 6 eq second numeric and { % % is a six digit date % dup dup 2 right exch -2 right 2 right % % stack: date year month exch ^"/20" & % stack: date month/year exch 2 left &"/" ^ } { % % not numeric and six digits length, assume a regular date % "-" "/" replall } ifelse dup !Sked.DateHold isdate { % % is a proper date, make sure within future period limit % Time.Now _Sked.DateHold "d" Time.Diff dup 0 ge exch _Sked.Future - le and } { % % not a date % false } ifelse % % stack: acceptable-date % "skedisdater" log)(