date_vars() #@ Populate variables with today's date
{ #@ USAGE: date_vars [VAR ...]
#@ Global variables set: date_vars[] ...
local datefmt='%Y~%m~%d~%H~%M~%S~%FT%T~%F~%j~%w~%b~%B~%a~%A'
local bashversion=${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}
if (( bashversion >= 43 ))
then
printf -v _date "%($datefmt)T"
elif (( bashversion >= 42 ))
then
printf -v _date "%($datefmt)T" -1
else
_date=$(date +"$datefmt")
fi
IFS=\~ read ${1:-year} \
${2:-month} \
${3:-day} \
${4:-hour} \
${5:-minute} \
${6:-second} \
${7:-datestamp} \
${8:-date} \
${9:-DayOfYear} \
${10:-DayNum} \
${11:-MonthAbbrev} \
${12:-MonthName} \
${13:-DayAbbrev} \
${14:-DayName} <<< "$_date"
enum DVyear DVmonth DVday DVhour DVminute DVsecond DVdatestamp DVdate \
DVjday DVdaynum DVshortmonth DVmonthname DVshortday DVdayname
IFS=\~ read -a date_vars <<< "$_date"
((debug)) && vshow date_vars
}