Only Luke reveals Jesus’ age when he began his public ministry. He was about 30 years old (Luke 3:23). That is, he was born in the autumn of 3 BC, and the time of Jesus baptism was in the 16th year of the reign of Tiberius (27 AD) or one year after John began his ministry (cf. Luke 3:1), making Jesus a full 29 years of age, but in his 30th year (29 to 30 years of age was his 30th year from birth). Some interpreters have tried to draw parallels between Jesus age and the age of Levites entering their service of the Tabernacle (Numbers 4:3 etc.), but I don’t believe this can be done, since Luke really doesn’t commit himself to a full thirty years of age for Jesus.
Jesus’ genealogy according to Luke 3:23-38 is different from that found in Matthew 1:1-16. Matthew follows the royal line from David through Solomon to Jeconiah, whose sons were made eunuchs in Babylon. Jeconiah was the 2nd last king of Judah before the captivity, but his line was cursed by God, because God said no descendent of his would reign on David’s throne. Zedekiah, Judah’s last king before the captivity, was blinded and all of his sons were slain (2Kings 25:5-7). Therefore, and for all practical purposes, the royal line through Solomon ended with the sons of Jeconiah who were made eunuchs in Babylon.
While in Babylon, Jeconiah adopted Salathiel of the line of Nathan, another of David’s sons and next in line to the throne after Solomon. Both Salathiel and Zorobabel (Salathiel’s natural son) are in both Luke’s and Matthew’s accounts at the time of the captivity, but in Matthew’s account Salathiel gets back to David through Jeconiah who adopted him from the line of Nathan. In Luke’s account Salathiel gets back to David through Nathan. Zorobabel’s descendents in Matthew’s account down to Jesus come from the son he bore to Jeconiah according to the levirate law of raising up a lineage to a relative who had no male descendents. Zorobabel’s descendents in Luke’s line represent the natural lineage from Nathan to Jesus.
Nevertheless, how should we interpret Luke saying that Joseph was the ‘son’ of Heli, but in Matthew he is the son of Jacob? Joseph doesn’t have two fathers. His natural father is Jacob in Matthew’s record of Jesus’ genealogy. Heli in Luke’s record of Jesus’ genealogy is Joseph’s father-in-law, who had no sons. Mary was the eldest daughter, and her marriage to Joseph had been arranged to raise up a son to Heli and back to David through Nathan. However, Joseph didn’t have to raise up a son to Heli, because Mary became pregnant through the power of the Holy Spirit, as testified by Luke in chapter 1. According to the law of a levirate marriage, the firstborn inherits both lines (cf. Boaz and Ruth in the book of Ruth). In so doing, Jesus was able to heal the Jeconiah curse, because Jesus was born from the natural line of Nathan to David. The ‘adopted’ line was the Jeconiah line, because God had ruled that no natural son from that line would ever reign on David’s throne. Thus, God in the person of Jesus was able to be true to his word concerning Jeconiah—that no son of Jeconiah would ever reign on David’s throne, and true to his word to David—namely that the Messiah would be born from his lineage.