de Haan represented Canada at the 2010 and 2011 World Junior Ice Hockey Championships, winning silver medals in both tournaments.
de Haan was drafted by the Oshawa Generals of the Ontario Hockey League (OHL) in the third round, 50th overall, at the 2007 OHL Priority Selection. Prior to joining the Generals, he played one season with the Kemptville 73's of the Central Junior A Hockey League. He was named the Rookie of the Year in the 2007–08 season after scoring 42 points in 58 games. In his rookie season with the Generals in 2008–09, he finished second on the team in scoring with 63 points, scoring eight goals and adding 55 assists. The Generals named him their top rookie and top defenceman, while he was also selected to play in the OHL All-Star Game and the 2009 CHL Top Prospects Game.
Ranked 25th by the NHL Central Scouting Bureau heading into the 2009 NHL Entry Draft, de Haan expected to be a late first, or early second round, selection. He was eventually selected by the New York Islanders, who made a trade to acquire the 12th overall pick, which they used to draft him.
de Haan turned professional during the 2011-12 AHL season, appearing in 56 games for the Bridgeport Sound Tigers. He also made his NHL debut with the Islanders that season.
While playing 17 games for the Sound Tigers during the 2013-14 AHL season, de Haan also skated in 51 games for the Islanders, and scored his first career NHL goal against the Toronto Maple Leafs in a 5-3 victory on January 7.
On July 15, 2014, the Islanders re-signed de Haan to a three-year, $5.9 million contract worth 1.966,677 annually.
de Haan became a regular the following season, appearing in 65 games.
On August 2, 2017, the Islanders re-signed de Haan to a one-year, $3.3 million contract. The two sides were set for an arbitration meeting that afternoon, with the deal being completed in the morning.
de Haan first represented the Canadian junior team at the 2009 IIHF World U18 Championships, scoring six assists in six games. He won a silver medal at the 2010 World Junior Ice Hockey Championships, though he missed two games after suffering a head injury in a game against Switzerland. On November 29, 2010, he was named to the 2011 Canadian World Junior Team selection camp for the second time, one of only four returning members from the 2010 silver-medal team. On December 19, 2010, de Haan was named an alternate captain to Ryan Ellis of the Windsor Spitfires for the 2011 Canadian junior team, along with Brayden Schenn of the Brandon Wheat Kings and Jared Cowen of the Spokane Chiefs, his fellow returnees.