My two different textbooks say those two sentences respectively for the one same meaning: "It's been three years since she left." but I'm still not sure because my books are too old and meager in terms of contents. Do they really have the same meaning? If so, can I take the 她离开三年了 as an abbreviated version of 她离开了三年了 which leaves out the aspectual particle 了 after 离开? If there's a difference between the meanings of the two sentences, please let me know.
她离开了三年了: Without context this sounds weird to me. Without any context, all the responses above are just adding to confusion.
to render it more idiomatic, perhaps change to: 她离开已经有三年了。
她离开三年了: this is idiomatic.
Oops, I think there is no difference between these two sentences, but the latter one is more preferred for it is tighter. To make no misunderstanding, I would say that we do need “了” to finish a sentence, make it sounds better, help to form a phrase, or do other things, but we just don't need too many “了” in one sentence.
If you read two sentence, I think you may feel that the second one is more natural.
These uses suggest that there is a difference between 他离开了三年 and 他离开了三年了. My decision on this difference is that 他离开了三年 emphasizes temporal interval with a start and finish point, that can be used to denote a background time in terms of duration. This type of time does not relate to the time of utterance, i.e., the so-called aspect. In contrast, 他离开了三年了 is open to this utterance time, i.e., the so-called tense. More importantly, this ‘leave’ event does not relate to whether he comes back or not. After all, that he comes back or has not come back presuppose a time of utterance. No matter whether he comes back, the subsequent event still happened as the speaker intended to express. That said, 离开了三年 is just used to subjectively choose or make prominent an interval of time.