It takes approximately 16-17 hours to fly from Toronto or Vancouver to Nadi, Fiji with a layover.