Why is =MONTH("2017-01-01") showing December?

I have a cell with a formula for a date that is in January. It shows a result of “1”. When I format the date using a format of MMM it shows December. Why?

Because when you use function MONTH, you get not a date, but a number of month. That number is one. When you take the one and try to represent it as a date, it is treated as the day one of the epoch (which is 31/12/1899). So, formatting the value to show month gives you “a month of number one” that is December.

the so called epoch is not identical to to “day zero” ( 1899-12-30 ) in LibreOffice.

see epoch

The so called Unix time is not identical to epoch ( 1899-12-30 ) chosen in LibreOffice.
see epoch