From manpage:
DATE STRING
The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800"
or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date,
time of day, time zone, day of week, relative time, relative date, and numbers. An empty string indicates the
beginning of the day. The date string format is more complex than is easily documented here but is fully
described in the info documentation.
So, yy-dd-mm hh:mm:ss formate should be preferred as input to date -s
Try with the following:
(unset -v IFS # restore IFS to default
read -p "Enter the date:" y m d time rest_ignored
date -s "$y-$m-$d $time")