Query Help: select certain time window over 2 days

I have some tags that query production data from a database. I have two shifts and the data has a ‘shift’ column which contains either a 1 or 2. I can easily where clause the shift = 2, but I only need the data from the last shift which is where my trouble comes in. The shift starts at 4pm and ends 2:30 am the next day. Every query I write using things like

where shift = 2 and (DATE(t_stamp) = CURDATE() and HOUR(t_stamp)  > 16 ) or (DATE(t_stamp) = DATE_ADD(CURDATE(),INTERVAL -1, DAY))

Doesn’t work because of the change in CURDATE() after midnight. Any ideas for a better way to do this?? Thanks