根据《国语》记载:“昔武王克商,岁在鹑火,月在天驷,日在析木之津,晨在斗柄,星在天”,可推定为公元前1046年。历史学家何炳棣认为鹑火是东周的洛阳。
《竹书纪年》记载牧野之战发生于公元前1027年。
《尸子》记载:“武王伐纣,鱼辛谏曰:‘岁(木星)在北方不北征。’武王不从”。《荀子·儒效篇》说:“武王之诛纣也,行之日以兵忌,东面而迎太岁”。《淮南子·兵略训》也记载:“武王伐纣,东面而迎岁”。根据计算推算出公元前1045年12月3日。
《利簋》铭曰:“武王征商,唯甲子朝(早晨),岁鼎克昏辰,夙(日出)有商”,“岁鼎克昏”是指岁星、昏星(水星)位于金星的两侧,三星鼎足,可推断牧野之战是发生在公元前105公元前1046年1月20日早晨6、7点钟。
《淮南子.兵略训》记载:武王伐纣,东面而迎岁,至汜而水,彗星出而授殷人其柄。根据公元1910年哈雷彗星的出现和回归地球的周期时间,逆推40次回归过近日点,发现在公元前1057年,哈雷彗星正好回归地球,其天象恰好与《淮南子兵略训》记载符合。
明代黄道周有牧野之战发生在公元前1053年(戊子岁)之说。
黄宗羲的《历代甲子考》与《答朱康流论历代甲子书》记载武王克商发生在前1122年(己卯岁),并多次与朱朝瑛辩之。
1998年12月20日夏商周断代工程会议上,江晓原结论,牧野之战发生于公元前1044年1月9日。