I hate Mondays!
Javascript - 47 45 43 42 34 32 29 bytes
8 bytes saved thanks to @Downgoat.
5 bytes saved thanks to @Dendrobium.
f=_=>(Date()[0]!="M"&&"f=")+f
Jolf, 19 13 9 bytes
?wfb+q~2q
Try it online.
Saved quite a few bytes thanks to Conor.
?wfb+q~2q
?wfb+q~2q
? if
wfb the current weekday - 1 (which is 0 on Monday) is truthy
+q~2 print the program's source code with 1000 appended to it
else
q print the program's source code
CJam, 18 17 bytes
{"_~"et7=({\}|}_~
Test it here.
On Mondays, it prints:
_~{"_~"et7=({\}|}
Dennis found a 16-byte solution which will break in the year 10,000 though:
{"_~"et_7=1=<}_~
On Mondays, this prints
{"_~"et_7=1=<}_~2016
... or whatever the current year is.