#compdef date
local -a args
if _pick_variant gnu="Free Software Foundation" unix --version; then
args=(
'-d[output specified date]:time string'
'-f[output dates specified in file]:file:_files'
'-I-[iso-8601]:precision:(date hours minutes seconds)'
'-r[reference]:file:_files'
'-R[rfc-2822]'
'-s[set]:time string'
'--rfc-3339=-[output date and time in RFC 3339 format]:output type:(date seconds ns)'
--
'*=FILE*:file:_files'
'*=DATEFILE*:date file:_files'
)
else
case "$OSTYPE" in
solaris*)
args=( '-a:adjustment' )
;;
freebsd*|darwin*)
args=(
'-n[only set time on current machine]'
'-d:daylight saving time value'
'-j[do not try to set date]'
'-f:parsing format'
'-r:seconds since epoch'
'-t:minutes west of GMT'
'-v:adjustment value'
)
;;
openbsd*)
args=(
'-n[only set time on current machine]'
'-d:daylight saving time value'
'-a[gradually skew]'
'-r:seconds since epoch'
'-t:minutes west of GMT'
)
;;
esac
fi
_arguments \
'-u[display or set time in UTC]' \
': :_guard "^--*" "format or date"' \
"$args[@]"
Copyright 2K16 - 2K18 Indonesian Hacker Rulez