parse variable

I have a variable (it is a date actually -> 2007-01-03) which
would be passed in as parameter, what I want is to parse in and put
year, month, and day in separate variables, I have tried the following
but doesn't work

echo $dt | awk -F- '\{print $1 $2 $3\}' | read y m d

Thanks in advance

var1=$( echo $dt | cut -d"-" -f1 )

Without awk or cut...

echo "$dt" | while IFS="-" read y m d
do
echo $y
echo $m
echo $d
done