The sense is "if either dow is 5 and hour is 0 or if dow is 4 and hour is 23". Is the setting of the brackets logically okay? I read that there are differences in using comparisms in C compared to other program languages, so I'm not quite sure.
The brackets are fine as far as I see. Another way to check the time interval around thursday midnight is: