Josh Dallas, who plays the most charming of Princes on Once Upon a Time, is 30 years old. If you want to shop for a gift, his actual birthday is December 18, 1981. Josh was born in Kentucky, but he studied at a performing arts school in England and went on to work in some most famous and prestigious theater companies in the world, including the Royal Shakespeare Company and the Royal National Theatre. His big screen break came in 2011 when he was cast in Thor, as Fandral, just days before shooting began, when another actor dropped out. But alas, his committments to Once Upon a Time will keep him from appearing in the Thor sequel.