Upvote:3
The day you entered the first time has no special significance. There is no 180-day period starting on that date that would roll over. And you don't get another 90 days or start another 180-day period by entering at a later date as implied by one of your comments.
The rule is simply that you can only ever be in the Schengen area for 90 days out of any 180-day period. This should typically be checked on entry and on exit but holds for any day you are present in the Schengen area.
It's true that if you stayed in the Schengen area for 90 days straight then you have to stay out of the area for 90 days before coming back again but that's just one special case. It's not really that a new 180-day period is starting or anything like that, it's just that after 90 full days out of the area, there are only 89 days of the previous stay that can possibly still count (because you are only ever considering 180 days: the day you would enter (that's 1) and the 179 days prior to that so 90 days spent out of the area + at most 89 days in the area).
For all other cases, you have to consider exactly how much you stayed and when and the easiest way to do that is to use the calculator. But as Henning explained in a comment: Unless you have stayed exactly 90 days between July 5th and December 31st, you can definitely enter on December 31st. That's also true if you stayed 89 days already. For how long we can't know as it depends on the details of your previous stays but you can enter.