If you need a specific output format:
format(cdate("09 april 2016"),"dd/mm/yyyy") = 09/04/2016
format(cdate("09 april 2016"),"mm/dd/yyyy") = 04/09/2016
format(cdate("09 april 2016"),"m/d/yy") = 4/9/16
If you need a specific output format:
format(cdate("09 april 2016"),"dd/mm/yyyy") = 09/04/2016
format(cdate("09 april 2016"),"mm/dd/yyyy") = 04/09/2016
format(cdate("09 april 2016"),"m/d/yy") = 4/9/16
Yes, the second in particular is useful when formatting dates for SQL statements (which are strings) where dates need to be in US format.
However it is important to realise that the output of Format() is always a string. If that string is fed to a context where it expects a date datatype it will be implicitly cast to a date using the regional date settings.
Moreover, Windows has an unfortunate "feature" where a date that is invalid in the Regional Date Format will be tested against other valid date formats and, if it matches, it will be quietly accepted.