Why does it matter that tomorrow is ראש חודש? As מצודת דוד says, והיה מדרך כל אכלי שולחן המלך לבוא לבו אל השולחן ולא יעדרו, אבל בשאר הימים היה מי מהם לפעמים נמנע מלבוא. That is important because the question becomes, how did they know that tomorrow would be ראש חודש? The Hebrew months are based on witnesses seeing the new moon. The cycle of the moon is about 29.5 days, so a month could be 29 or 30 days long. If witnesses came on the 30th day of the month, then that was ראש חודש and the previous month was only 29 days. If the moon wasn’t seen until after sundown on the 30th then the 31st would be declared ראש חודש and the previous month had 30 days. So there was no real way to determine when ראש חודש would be in advance. How did David and Jonathan know that tomorrow there would be a state dinner at which everyone was expected?
One possible answer is that today, the day on which they are talking, was the 30th of the month in the evening. If the witnesses hadn’t come yet, then clearly ראש חודש would be tomorrow. But then it is hard to understand what happens later (פסוק כז) ויהי ממחרת החדש השני ויפקד מקום דוד. Why would David’s absence be noted on a day that has no significance? מצודת דוד is aware of the problem and explains כי חשב, אם היה מקרה, היה לו לבוא היום חולפו, עם שאין הדבר קבוע בכל יום מימות החול.
רבינו חננאל used this incident to decide the הלכה (an opinion shared by רב סעדיה גאון):
But the רמב״ם disagrees vociferously:
He holds that the fundamental מצוה is to sanctify the month based on the testimony of eyewitnesses. But we clearly know when the new moon will appear (even the pre-Sinai Babylonians could calculate that). What do we do with that knowledge? Two things:
We use the calculated מולד to interrogate the witnesses, and to declare ראש חודש if and only if witnesses do not appear. Note that in that case the רמב״ם says ועיברו את החודש, not וקידשו את החודש. קדוש החודש depends on witnesses, even if the calendar itself does not.
As an interesting aside, the רמב״ם comments:
And what about רבינו חננאל's argument that they kept two days of ראש חודש when the month was מעובר? The מהרש״א argues otherwise, from a story in the Gemara (about 1100 years after David).
We all know the story of the תנור של עכנאי, when רבי אליעזר argues with the rest of רבנן and brings miraculous proofs and even a voice from heaven to prove him right. רבי יהושע answered לא בשמים היא; we decide הלכה based on the Torah we have. What is less known is the aftermath of that story:
We only keep two days of ראש חודש because of the uncertainty of when the witnesses would arrive, like the two days of Yom Tov outside of Israel. When did that custom start? We know from the ירושלמי (ערובין ג:ט) שני ימים טובים של ראש השנה שהן מתקנת נביאים הראשונים. But it would seem that the two days of ראש חודש was a much later development.
However, I think we can accept part of רבינו חננאל's explanation. There is a difference between the הלכות of ראש חודש and the customs around it. While only one day is (מדאוריתא) ראש חודש, it is possible that events like the state dinners that presumably required advance planning, they actually observed two days, whether the month was מלא or חסר. Having two days meant that one could miss one for emergencies but missing both would be unforgivable lèse-majesté. Thus “מחר חדש” may mean that tomorrow is the day we celebrate the new moon, even if the actual holiday is a day later.
The משבצות זהב points out that ראש חודש was a time for paying respects to the נביא, as in (מלכים ב ד:כג) יאמר מדוע אתי (את) הלכתי (הלכת) אליו היום לא חדש ולא שבת; ותאמר שלום; and the מקדש, as in (ישעיהו סו:כג) והיה מדי חדש בחדשו ומדי שבת בשבתו; יבוא כל בשר להשתחות לפני אמר ה׳. Perhaps the idea of paying respects to the king on ראש חודש is part of the same idea, which makes David’s absence even more of an insult.