Match Dates serve a few purposes on NightLight, the most obvious is to provide a way to view the impact patches, play styles, and other factors have over time through filters. There's also a couple of less obvious effects they have, and I want to talk about those and how exactly match dates are obtained.
How are Match Dates obtained?
From filenames! Most screenshot tools (including the one built into Steam) will save the current time & date in the filename when you take a screenshot. This is rather handy as you'll be taking one at the end of the game so it's a pretty representative of when the match took place.
When you upload a screenshot, NightLight will try and parse the date & time from the filename by working through a list of known formats. If it fails to recognise one, you'll be shown a warning and the current/upload time will be used instead.
Note: The upload time is currently always used for API uploads with tools like ShareX.
These are the currently recognised date formats; they should be recognised anywhere in the filename. If your tool uses something that's not on this list, feel free to reach out as I might be able to add it.
20220620143458 (Steam's default)
2022.06.20 - 14.34.58
2022. 06. 20. 14_34_58
06_20_2022 2_34_58 PM
(How many ways can we come up to write the same thing?!)
Editing the Match Date
It's currently not possible to edit match dates, mainly due to their use in the features listed below. I'm considering it though and will probably end up adding a way to at some point.
Why don't you use file creation/modification date?
I could try to use file creation date but there's people jumping through enough hoops to make Rube Goldberg proud in order to get screenshots from their platform to the upload page. These hoops tend to have the unfortunate side effect of overwriting the "true" screenshot time. At that point it just seems saner and importantly, more predictable to rely on filenames.
Other Effects and Uses
In addition to their statistical use, match dates play a key role in the following features/functions:
When you upload a match, the system will try to check for the same scoreboard within a certain duration of the match date (currently around 10 minutes either side). If any of those matches look to be from the same game, it will reject the current upload as a duplicate.
If the current match appears to be more complete (i.e., the game has ended in this one and not the other, or more was recognised), it will instead mark the existing one as a duplicate (hiding and eventually deleting it).
The duplicate detection isn't perfect and needs improving but the relevant takeaway here is that it relies on the match date and consequently can't/doesn't work without one.
Read about this in the Match History documentation.