$date.shortdate / $date(number).shortdate
$asctime.longdate / $asctime(number).longdate

$date.shortdate would return the date as day/month/year vs month/day/year depending on the user's setting in windows/controlpanel. I'm not saying to show it *as* the shortdate format, just to choose between $date and $adate defaults. This is not a substitute for $date or $adate without .prop, which should both continue their fixed format when not using the $2 format string.

I don't know how much of a demand there'd be for those using non-US-format to see the long format date showing as "31 Dec" instead of "Dec 31", but if so, something like $asctime.longdate or $asctime(number).longdate would also alter the month/day order of that string.

I see identical output for //echo $asctime vs $fulldate even after I changed regional settings in controlpanel, so I don't know if there's a reason to add the .prop for $fulldate or $adate.

This allows a script to display date or interpret user input in the user's preferred format without need to ask the user which way they prefer. Assuming all windows versions have month as capital M or MM and day as d or dd lowercase, it would check whether the Windows setting for date format mentions the month prior to mentioning the date, altering the $date output similar to:

Code:
alias date {
  if (($prop == shortdate) && ($regex(%shortdateformat,/^[^d]*[M]/))) return $adate($iif($1 == $null,$ctime,$1))
  else if ($2 != $null) return $date($1,$2)
  else return $date($iif($1 == $null,$ctime,$1))
}


The .prop would be compatible with the optional $1 ctime value, but incompatible with the $2 format override, so a decision would need to be made whether to ignore the $2 string or the .prop if both are used together, or reject the combo as invalid syntax.

I don't know if it's possible for windows to *not* have such a setting format, and if so, which format is returned when it's not present, but the .prop should follow suit.

It would also allow the script author to permit date entry in the user's regional settings, then validate 5/4 or 4/5 by checking whether or not $date($calc(86400*14)) begins with 01.