There have been a few discussions about this in the last few months.
This is an earlier thread about what MusicBee is doing:
https://getmusicbee.com/forum/index.php?topic=32417.0This is a thread that includes one potential workaround:
https://getmusicbee.com/forum/index.php?topic=33194.0I've only recently decided to start adding full release dates to albums, so I've also been wondering about this same issue and trying to work out the best way to handle it.
If you store only the year, MusicBee will just use that as is.
If you store the year and month, MusicBee will move the month to a
Date field and assume 1 as the date (as you've described). This isn't ideal, because it's not an accurate date.
If you store the year, month and date, MusicBee will also move the date to a
Date field, but handles it correctly because it's a full date.
So it's only when you know the month but not the date of the release that is an issue.
For now I'm using the date format
yyyy-mm-dd, with
00 as a placeholder for unknown months or dates.
e.g.
1972-04-00
1968-10-00
1983-00-00
I still need to test more, but so far it seems that having the dummy '00' value prevents MusicBee from recognising it as a date and trying to do anything with it automatically.
One advantage of this that may not work with other workarounds is that alphabetic sorting also results in a chronological order.
It is likely to break compatibility with other programs that rely on the date tag, but as 90+% of my music listening is done with MusicBee that doesn't bother me as much as it may other people who sync music with their phones etc.
This is the virtual tag I'm using to display formatted dates in various places:
$If($IsMatch(<Year>,"[0-9]{4}-00-00"),$Left(<Year>,4),$If($IsMatch(<Year>,"[0-9]{4}-[0-9]{2}-00"),$Date($Replace(<Year>,-00,-01),MMM yyyy),$Date(<Year>,d MMM yyyy)))
For example,
1972-04-00 will display as
Apr 1972.