Possible to condense this if statement?
The following saves a couple of program bytes (but no RAM) when now is a structure with a byte called DayofWeek:

 if ((byte)(now.DayofWeek+249)&gt;250) ...
   -vs-
 if ((now.DayofWeek != 1 &amp;&amp; now.DayofWeek != 7)) ...


It might save slightly more than that in your case, where now.dayOfTheWeek() appears to be a function reference.  This technique will work if function now.dayOfTheWeek() returns a byte, that is, an unsigned char.  The technique depends on value 7+249 overflowing to zero in byte arithmetic when truncated to a byte, because 7+249 is 0 modulo 256.

The cast to byte [or uint8_t] of now.DayofWeek+249 is needed because of int promotion as Edgar Bonet pointed out.