What can cause a woman to have her period for more than 2weeks?

Many things. Normal fluctuation in a woman's cycles are common. They can be caused by stress, changes in birth control method, pregnancy, miscarriage, thyroid, pituitary, obesity, weight gain/loss, and many more. At over 2 weeks of non-stop menses, it's time to go see a gynecologist and find out what's going on.