It is commonly believed among Bible scholars that, because Herod killed the children of Bethlehem from newborn up to two years of age, the Magi could not have come to Jerusalem, until Jesus was nearly two years old (Matthew 2:7, 16-18). However, this does not have to be so. According to Ezra 7:9 it took Ezra and his company exactly four months to travel from Babylon to Jerusalem, and it is implied that he made good time, because God was with him. However, the Magi might have made better time because Ezra could have had some aged people and the very young to care for. So, the Magi started out weeks before the expected conjunctions of Jupiter with other planets and stars, and may have been on their way to Jerusalem in mid August, 3 BCE. They could have arrived in Jerusalem and found the child by October 22, 3 BCE, or 40 days after Jesus’ birth on September 11th, and their journey would have taken about 3 months.
As far as the two-year time period is concerned (Matthew 2:7-8; 16-18), if Simeon was one of the Magi (as I suggested in a previous post), he may have received his vision or dream that he would not die until the coming of the Messiah two years prior to Jesus’ birth. There is no reason why the Magi should have remained in the east for two years, if they knew the Messiah had been born already, and the text does indicate they knew he was already born (Matthew 2:2). If they desired to come and worship the one born King of the Jews, there is every reason to believe that they arrived in Jerusalem around the time of Jesus’ actual birth. Why would they wait for two years?
Some scholars see another contradiction between the birth accounts of Matthew and Luke. How could Joseph and Mary have returned to Nazareth after all things had been done in accordance with the Law, when Matthew says they actually went to Egypt first? In fact, Matthew doesn’t mention their going to Nazareth, until they returned to Judea from Egypt. Matthew even implies that the only reason they traveled to Nazareth was because Archelaus reigned in Jerusalem in the place of his father, Herod. An zealot uprising had occurred in Judea during the first Passover after Herod’s death, and Archelaus with the help of Rome put it down. There was still danger in Judea, so Joseph went to Nazareth. Due to implications of scandal surrounding Mary’s pregnancy, Joseph may have planned to stay in Judea, perhaps even in Bethlehem, and not return to Nazareth at all, but, if so, he changed his mind as we see in the text.
Nevertheless, there is no contradiction between the narratives. All Luke says is that after they had performed all things according to the Law, they returned to Galilee and Nazareth. He neither denies they went to Egypt nor does he say they immediately went to Nazareth after performing the duties required by the Law. One may assume that it was immediately afterwards, but this is not necessarily so. Consider how Luke worded Paul’s activities in Acts after becoming a believer. After his conversion Paul got into trouble in Damascus, and some brethren let him down the wall during the night (Acts 9:25). The very next verse shows Paul in Jerusalem, where everyone was afraid of him and didn’t really believe he was a disciple (Acts 9:26). However, when Paul tells the story of his conversion in Galatians, the timeline is a little different than what one might expect from reading only Luke’s account of Paul. According to Paul it was actually 3 years after his conversion that he went up to Jerusalem (Galatians 1:16-18). It seems that Luke is apt to word matters for a smooth flow in his storyline, when he knows he is leaving out additional material within the timeline. Therefore, the precedent is set by comparing Luke with Paul in Acts and Galatians to show that Luke and Matthew agree in Jesus’ birth accounts without any actual inconsistency.