The last few years "has seen" vs "have seen"? [duplicate]
Years, being plural, takes the plural form have. But the last few years, being a single span of time, takes the singular form, has.
That's why they both sound okay to you. The first option is generally preferred in formal writing.
The rule I've been taught and apply in such situations is that both are correct but have different meaning. It depends on what you wish to convey to the recipient in regard to the relation between the element in the set (in this case - the years).
Consider the following sentences.
Big and tall is a concept of a store.
Big and tall are words constituting its name.
In the first, I regard both as a compound and refer to the joined properties of it. In the second, I treat both as separate elements in a set, referring to the individual properties of each.
Also consider:
United States has large cities.
versus
United States have large cities.
Both are correct and mean the same thing. But substitute large cities for capitol and discover the difference.
United States has a large capitol.
versus
United States have large capitols.
So, the years have something, if you intend to regard them as individual elements that just happen to belong to a common set, whereas the years has something, if you mean to treat them as a whole that happens to consists of parts, the existence of which is of low relevance in the current context.