2010-07-06 01:07:12 +05:30
|
|
|
unset LANG
|
|
|
|
|
2008-04-28 02:28:43 +05:30
|
|
|
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=/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'
|
|
|
|
|
2008-04-28 05:55:22 +05:30
|
|
|
# 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"
|
2008-04-28 02:28:43 +05:30
|
|
|
|
2008-04-28 05:55:22 +05:30
|
|
|
#hdt=`$host_date -d '1/2 3:4:5'`
|
|
|
|
#dt=`busybox date -d 1.2-3:4:5`
|
|
|
|
#test x"$hdt" = x"$dt"
|
2008-04-28 02:28:43 +05:30
|
|
|
|
2008-04-28 05:55:22 +05:30
|
|
|
#hdt=`$host_date -d '1/2/1999 3:4'`
|
|
|
|
#dt=`busybox date -d 1999.1.2-3:4`
|
|
|
|
#test x"$hdt" = x"$dt"
|
2008-04-28 02:28:43 +05:30
|
|
|
|
2008-04-28 05:55:22 +05:30
|
|
|
#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"
|
2008-04-28 02:28:43 +05:30
|
|
|
|
|
|
|
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"
|
|
|
|
|
2008-04-28 05:55:22 +05:30
|
|
|
# Avoiding using week day in this evaluation, as it's mostly different every year
|
2008-04-28 02:28:43 +05:30
|
|
|
# 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'
|
2009-07-18 08:24:21 +05:30
|
|
|
dt=`busybox date -d 200001231133 +%c`
|
2008-04-28 02:28:43 +05:30
|
|
|
test x"$dt" = x"Sun Jan 23 11:33:00 2000"
|
|
|
|
|
|
|
|
# date (GNU coreutils) 6.10 reports:
|
|
|
|
# date: invalid date '012311332000'
|
2009-07-18 08:24:21 +05:30
|
|
|
dt=`busybox date -d 200001231133.30 +%c`
|
2008-04-28 02:28:43 +05:30
|
|
|
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
|
|
|
|
|
2008-04-28 05:55:22 +05:30
|
|
|
# This should error out (by showing usage text). Testing for that
|
|
|
|
dt=`busybox date -d 012311332000.30 %+c 2>&1 | head -n 1`
|
2010-01-25 06:30:16 +05:30
|
|
|
test x"${dt##BusyBox * multi-call binary*}" = x""
|