no...it will always return false.
That statement is saying,
"Is the current time after 11:30pm today and before 2am today."
Written a different way, it says
return (DateTime.Now.Hour = 23 && DateTime.Minute >= 30) &&
(DateTime.Now.Hour <= 2)
That's impossible. That should show you why...you can't have the hour = 23 and be less than 2.
Maybe it was mean to be an "or" (||) instead of "and"?
Though, honestly, why you would write all of that when you could just say
return (DateTime.Now.Hour = 23 && DateTime.Now.Minute >= 30) ||
(DateTime.Now.Hour <= 2)