Spider-Man: Homecoming is the latest great entry into the Marvel Cinematic Universe, one that blends awesome superhero action with a real John Hughes high school movie vibe.
While the film is an obvious success, as both a Spidey movie and a MCU one, it does contain one potential problem for the universe's timeline. Just before the 'present day' action takes place, we're alerted to the fact that this is happening eight years after the Battle of New York.
That battle, which Marvel love to reference (it's regularly mentioned in the Netflix shows), took place in 2012, the same year The Avengers was released. Homecoming, then, is five years after that - but also, just a couple of months after the events of Captain America: Civil War, which would be four years later. Either way, it's definitely not 8.
The MCU timeline has often been a little messy, with Iron Man taking place in 2010 despite being released in 2008, and Iron Man 2 just a few months later. But the BoNY is a fixed point at May 4, 2012, as we've seen on reports such as the New York Bulletin.
So why the change?
The most basic answer is that, for all they've made a big shared universe, Marvel don't care that much about the timeline itself. It can and will change as the MCU grows - we've seen James Gunn take this sort of approach to canon - so it doesn't matter too much.
With that, there's also the possibility it is, then, a complete mistake. It may seem like an oversight you wouldn't think Marvel would allow, but if they're playing fast-and-loose with the timeline, then it can go relatively unnoticed, or other events can be changed to fit it retrospectively.
There aren't too many definitive 'fixed points' in terms of dates in the MCU, at least not in cinematic terms, but with the emergence of various TV shows it does become a little clearer. Agents of S.H.I.E.L.D. largely takes place in 'real time' - at one point, Jemma Simmons explicitly states the year is 2015, and another - revolving around Skye's age, puts it between 2014 and 2015. Since it connects to the events of The Winter Soldier and Age of Ultron, then they have to happen around the time of release, so 2014 and 2015 respectively. Doctor Strange offers another clue, as his watch tells us at one point it's 2016 (confirmed by its co-writer), with the events likely running into early-2017.
Back in 2015, Marvel also launched the WHiH news channel. Obviously intended to document events in something approaching real time, it includes Ultron (2015), Ant-Man (2015), and the Sokovia Accords (2016). Ant-Man here is particularly key, as it grounds that film in 2015, and it's there we get a reference to Spider-Man - ok, it's a guy who "crawls on walls", but c'mon - and in Civil War Peter states that he's been Spider-Man for six months.
In Civil War, we hear that Helmut Zemo lost his family in the Battle of Sokovia, and spent "over a year" planning his revenge. That would put Civil War, again, around the time of release, or just a few months later anyway. Another WHiH video, on the Attack in Lagos, also puts Civil War as being in 2016. In the film, Sam states they looked for Bucky for two years, further confirming The Winter Soldier as 2014 (something Scarlett Johansson had previously stated, and is also referenced as Cap says he's 95 in that movie) and Civil War as being 2016. Prior to Civil War's release, the Russos said:
"We like to say that the amount of time that has passed in between films is the amount of time that has passed in the movies. So, it's about that amount time [between Ultron and Civil War]."
Spider-Man: Homecoming comes just a few months after that, so we're talking late 2016 (Homecoming typically takes place around September-October time).
This is supported by the Stark Expo posters we see, which advertise it for 2018. The exact dates are unclear, as it reads 10.17 - 10.27.18 - this could be October 2017 to 2018, or 17 October 2018 - 27 October 2018 (which would make more sense). So it could plausibly have been intended to have been in one of those years, which is still a leap (but one that's a little more excusable), but also fits with it taking place in 2016, as it's the kind of event that would be advertised long in advance.
One possible reach for logic in all of this is that they recently retconned Iron Man 2, so that the kid at the Stark Expo IS Peter Parker. That was in 2011, so if this movie was in late 2016, it'd mean that Peter - now 15 - was around 10 then, when he looks younger than that. Putting it in 2020 means the child would be around 6-years-old, which fits that better, but it's a lot to squeeze in a recently confirmed retcon Easter egg. it would mean everything else shifts later, but because of some of those more fixed times - the TV shows, Doctor Strange etc - that isn't really possible.
A possible explanation is that Marvel have done this to keep Peter in high school longer. They've made a lot of noise about wanting a high school Spider-Man, something this film absolutely delivers, and the sequel is nicely setup to continue. So perhaps setting it in 2020 is a means to having a Peter who is a sophomore movie come out in 2017, and then two years later have a Peter as a senior film (or even a junior, if they want to have a whole trilogy of high school movies).
The other is that Marvel, somehow, didn't realise that the huge letters on the screen were effectively breaking their (admittedly already slightly messed-up) timeline, and have just totally f**ked it up.
If they'd just put '5 Years Later' rather than '8', it could've saved all this mess, and I wouldn't have this headache.