The tournament would now be held from July 30 instead of August 2 to enable the Indian team to participate in an exhibition match in August, an official said in Colombo.
"We decided to advance the series by a few days. We took into account several issues and one of the vital ones was the request by the Board of Control for Cricket in India (BCCI)," Adel Hashim, a member of Sri Lanka's Cricket Interim Committee, said.
The Indians are scheduled to arrive in the island on July 24 and will figure in the tournament opener against the hosts in Dambulla.
The tri-series consists of seven matches with the final slated for August 9 at the R Premadasa Stadium in Colombo. All matches will be day-night affairs.
The decision to advance the three-nation series has also forced administrators to bring forward the two Test series against the West Indies.
The West Indies will now arrive on July 3 and play the first Test at the Singhalese Sports Club in Colombo from July 13 to 17 and the second in Kandy from July 21 to 25.