The comment pretty much summarizes the intent. The -1* inverts the logic of the compareTo() method and essentially causes a descending sort order. The 1* part is redundant but I suspect it was just added to emphasize the ascending sort order.
The best ideas are the crazy ones. If you have a crazy idea and it works, it's really valuable.—Kent Beck
I would also add that the variable name "second" is confusing here. It's apparently intended as the name of the other object being compared to, the second object. But since we see the name "second" next to "month" and "day of week", it can easily sound like it refers to seconds as a measure of time. Bad choice of name - if they'd just called the other object "other", it would have been much clearer.