is class_start a date, or a timestamp / datetime type?
A date won't match a timestamp. I.e. you're likely asking is '2006-04-01' == '2006-04-01 12:00:00' and of course, those aren't the same.
Better to use between most times.
Is class_start between '2006-04-01 00:00:00' and '2006-04-01 23:59:59'
Note that some days might technically have a leap second and go to 23:59:60, so I guess that might be an issue but a pretty rare one 🙂