Problem: God sent his prophet to threaten David with how many years of famine? 2 Samuel 24:13 and 1 Chronicles 21:12 examined.
Solution: Seven years: 2 Samuel 24:13, “So Gad came to David and told him, and said to him, “Shall seven years of famine come to you in your land? Or will you flee three months before your foes while they pursue you? Or shall there be three days’ pestilence in your land? Now consider and see what answer I shall return to Him who sent me,” (NASB).
Three years: 1 Chronicles 21:11-12, “So Gad came to David and said to him, “Thus says the Lord, ‘Take for yourself 12 either three years of famine, or three months to be swept away before your foes, while the sword of your enemies overtakes you, or else three days of the sword of the Lord, even pestilence in the land, and the angel of the Lord destroying throughout all the territory of Israel.’ Now, therefore, consider what answer I shall return to Him who sent me,” (NASB).
There are two possible explanations for the discrepancy. First, it is possible that the duration of the famine was reduced from seven to three years after David prayed for mercy from God. Though the text does not specifically state this, we can infer it from the accounts’ differences. In 2 Samuel 24:13, David is asked which of the three options that he could take. In 1 Chronicles 21:11-12, there is no question asked. David is told to make a choice. Therefore, it may be that the Prophet Gad first asked David, “Shall seven years of famine come to you in your land?” and later told David to make a choice when he said, “take for yourself either three years of famine….”
The second is probably a copyist error, and the better-preserved text renders the famine as three years.
Walvoord, John F., and Roy B. Zuck, The Bible Knowledge Commentary, Wheaton, IL: Scripture Press Publications, 1985.