unset LANG
unset LANGUAGE
unset LC_TIME
unset LC_ALL

dt=`busybox date -d 1:2 +%T`
test x"$dt" = x"01:02:00"

dt=`busybox date -d 1:2:3 +%T`
test x"$dt" = x"01:02:03"

host_date=/system/bin/date

# date (GNU coreutils) 6.10 reports:
#	date: invalid date '1.2-3:4'
# busybox 1.11.0.svn date reports:
#	date: invalid date '1/2 3:4'

# TODO: (1) compare with strings, not "host date"
# (2) implement d/m[/y] hh:mm[:ss] fmt in date applet
#hdt=`$host_date -d '1/2 3:4'`
#dt=`busybox date -d 1.2-3:4`
#test x"$hdt" = x"$dt"

#hdt=`$host_date -d '1/2 3:4:5'`
#dt=`busybox date -d 1.2-3:4:5`
#test x"$hdt" = x"$dt"

#hdt=`$host_date -d '1/2/1999 3:4'`
#dt=`busybox date -d 1999.1.2-3:4`
#test x"$hdt" = x"$dt"

#hdt=`$host_date -d '1/2/1999 3:4:5'`
#dt=`busybox date -d 1999.1.2-3:4:5`
#test x"$hdt" = x"$dt"

hdt=`$host_date -d '1999-1-2 3:4:5'`
dt=`busybox date -d '1999-1-2 3:4:5'`
test x"$hdt" = x"$dt"

# Avoiding using week day in this evaluation, as it's mostly different every year
# date (GNU coreutils) 6.10 reports:
#	date: invalid date '01231133'
#dt=`busybox date -d 01231133 +%c`
#dt=`echo "$dt" | cut -b5-19`
#test x"$dt" = x"Jan 23 11:33:00"

# date (GNU coreutils) 6.10 reports:
#	date: invalid date '012311332000'
dt=`busybox date -d 200001231133 +%c`
test x"$dt" = x"Sun Jan 23 11:33:00 2000"

# date (GNU coreutils) 6.10 reports:
#	date: invalid date '012311332000'
dt=`busybox date -d 200001231133.30 +%c`
test x"$dt" = x"Sun Jan 23 11:33:30 2000"

lcbbd="LC_ALL=C busybox date"
wd=$(eval $lcbbd +%a)		# weekday name
mn=$(eval $lcbbd +%b)		# month name
dm=$(eval $lcbbd +%e)		# day of month, space padded
h=$(eval $lcbbd +%H)		# hour, zero padded
m=$(eval $lcbbd +%M)		# minute, zero padded
s=$(eval $lcbbd +%S)		# second, zero padded
z=$(eval $lcbbd -u +%Z)		# time zone abbreviation
y=$(eval $lcbbd +%Y)		# year

res=OK
case $wd in
	Sun)
		;;
	Mon)
		;;
	Tue)
		;;
	Wed)
		;;
	Thu)
		;;
	Fri)
		;;
	Sat)
		;;
	*)
		res=BAD
		;;
esac

case $mn in
	Jan)
		;;
	Feb)
		;;
	Mar)
		;;
	Apr)
		;;
	May)
		;;
	Jun)
		;;
	Jul)
		;;
	Aug)
		;;
	Sep)
		;;
	Oct)
		;;
	Nov)
		;;
	Dec)
		;;
	*)
		res=BAD
		;;
esac

dm=${dm# *}
[ $dm -ge 1 ] && [ $dm -le 31 ] || res=BAD
h=${h#0}
[ $h -ge 0 ] && [ $h -le 23 ] || res=BAD
m=${m#0}
[ $m -ge 0 ] && [ $m -le 59 ] || res=BAD
s=${s#0}
[ $s -ge 0 ] && [ $s -le 59 ] || res=BAD
[ $z = UTC ] || res=BAD
[ $y -ge 1970 ] || res=BAD

test x"$res" = xOK

# This should error out (by showing usage text). Testing for that
dt=`busybox date -d 012311332000.30 %+c 2>&1 | head -n 1`
test x"${dt##BusyBox * multi-call binary*}" = x""
