Financial terms were not disclosed but the two-year deal is worth $16 million deal and the option is worth $9 million, sources told ESPN, confirming multiple reports.
"This is really kind of a dream come true, honestly,'' Calhoun said Monday. "I'm born and raised here, grew up a Diamondback fan. Anybody who dreams of playing in the big leagues and you get there, your dreams come true. But as a kid growing up, I always dreamed of playing for the Diamondbacks and now I've got that opportunity. I couldn't be more excited.''
Calhoun, 32, who became a free agent for the first time when the Los Angeles Angels declined to exercise his 2020 contract option, has spent his entire career with the Angels, who drafted him in the eighth round in 2010 out of Arizona State.
Calhoun first cracked the Angels' big league roster in 2012, and he spent most of the past six seasons as their right fielder. He won a Gold Glove in 2015.
Calhoun hit a career-best 33 homers last season while batting .232 with 74 RBIs. He has 884 hits, including 140 homers.
"I wanted to go to a team that's really looking to win,'' Calhoun said. "This is a team coming off an 85-win season, a team that's made a splash with a big free-agent arm and a team that's really showing they're ready to take the next step.''
The Associated Press contributed to this report.