I see you've made a choice, which I assume is for brevity and clarity of the notation. (Correct me if I'm wrong.)
# Not directly relevant but worth noting:
set isoDate to (current date) as «class isot» as string
-------------------------------------------------------------------------------------------
# Again not directly relevant but worth noting:
set d to current date
set dStr to date string of d
set sDtStr to short date string of d
-------------------------------------------------------------------------------------------
# Relevant - clunky to make it a bit more obvious to JF how it works.
on dtStr(_date, _sep)
tell _date
set _month to text 1 thru 3 of (its month as text)
set _year to year
set _day to text 3 thru -1 of ((day / 100) as text)
set {oldTIDS, AppleScript's text item delimiters} to {AppleScript's text item delimiters, _sep}
set _output to {_year, _month, _day} as text
set AppleScript's text item delimiters to oldTIDS
return _output
end tell
end dtStr
dtStr(current date, "-")
dtStr(current date, "/")
dtStr(current date, "")
dtStr(current date, " ")
-------------------------------------------------------------------------------------------
# Relevant
on invDate(_date, sep)
tell (_date) to text 3 thru -1 of (((day) / 100 & sep & (text 1 thru 3 of (its month as text)) & sep & year) as text)
"Invoice Dated: " & result
end invDate
invDate(current date, " ")
-------------------------------------------------------------------------------------------
One of the nice things about handlers is that you can have a pure mess of spaghetti code in one with a much simpler invocation in the body of your code.