據史書記載,在公元前207年12月,劉邦率兵滅秦之后在關中稱王。公元前206年1月,項羽率軍攻破函谷關,想消滅先在關中稱王的劉邦,于是設下鴻門宴,想計殺劉邦。
劉邦自知打不過項羽,親自赴宴向項羽謝罪,在宴會上本來“項莊舞劍意在沛公”刺殺劉邦,但由于項羽輕信劉邦,不但沒殺成功,而且在項伯的幫助下劉邦還成功逃脫。不久,項羽攻入咸陽,殺死秦王子嬰,火燒了阿房宮。后來,項羽表面上尊楚懷王為義帝,實際卻將其發配到了江南,在半路有殺死了楚懷王。
項羽自立為西楚霸王,定都在彭城(今江蘇省徐州市),同時分封了18個諸侯,其中封劉邦為漢王,為美名曰巴、蜀、漢中也是關中之地,同時為了堵住劉邦,項羽把之前投降的秦將章邯、司馬欣、董翳封到秦地,三分關中——這三人是項羽坑殺二十萬秦軍時特意留下的,他們仨手里沒了兵,也沒法折騰。章邯為雍王,封在咸陽以西,都于廢丘;司馬欣為塞王,封在咸陽以東到黃河之間,都于櫟陽;董翳為翟王,封于上郡,都于高奴。這也就是“三秦”這一說法的由來。當時項羽40余萬人而劉邦只有10余萬人,所以劉邦只好忍氣吞聲接受了封號,于四月領兵進入漢中后,為麻痹項羽,還燒毀了棧道(用木板架在懸崖上鋪成的道路),表示自己再也無意出兵。
同年6、7月的時候,齊國貴族后裔田榮因不滿分封,趕走了齊王,殺死了膠東王,自立為齊王。這時劉邦卻乘亂重返關中,打敗了章邯,逼迫司馬欣、董翳投降,并用計欺騙項羽,說自己取得關中后已經心滿意足,再也不會東進了。項羽相信了劉邦,放心去攻打田榮,對西邊也沒有加強防范。借此機會,在11月,劉邦突然揮軍東出,拜韓信為大將,明修棧道,暗渡陳倉 (今陜西省寶雞市東) ,以為義帝發喪的名義,派人聯絡諸侯,公開聲討項羽,拉開了4年楚漢戰爭的序幕。
所以從劉邦4月入漢中,11月東出公開聲討項羽,因此可以判斷劉邦在漢中呆了7個月。