How does Yate sort such dates? If 2 tracks have the same value for the YYYY component (but e.g. different MM) how will they be sorted in the list? Even though they both display as the same just YYYY (if set in Prefs.) will they be correctly sorted according to the full date data?
The dates are stored as text and the proper date format is ISO 8601 which conveniently sorts properly as text. Yate should sort in ascending order with additional components coming after. 2020, 2020-12-01, 2020-12-01:08:09, etc. ie. they should not be intermixed. That's why ISO 8601 is the only date/time format which makes sense.
How would Yate sort a mixture of YYYY-MM-DD and YYYY data? As if MM and DD were both 00 (which could not be stored in a date field), or some other weird enforced unnatural sort order?
The date/time stamps are not decomposed when sorted. This means 00 components will change the sort order. ie. 2020, 2020-00, 2020-00-00. As the 00s are invalid this should make no difference except if you specify a time component. ie. 2020-12-01 will precede 2020-12-01T00:00.
When a track with Year stored as YYYY-MM-DD is viewed in iTunes, it will be displayed just as YYYY. Presumably if that field/tag is then edited in iTunes, only YYYY will then be saved back to the file? Would this full date be truncated to YYYY when iTunes saved edits to any other tag, but NOT the Year? Does it write only the edited tag to the file or the entire tag set?
same as above.
Any time you edit something in iTunes/Music it imposes its own formatting. Only YYYY will be saved to the file if year is edited in iTunes/Music. They tend not to change tags which are not directly modified ... however there are no guarantees here and it might change from version to version.
How does iTunes sort by Year if the files contain YYYY-MM-DD, or would I be right in thinking that iTunes only stores YYYY in its library file and hence any -MM-DD stored in the actual file would be irrelevant?
I'm pretty sure that everything after YYYY is ignored when they sort as more than likely the info is simply not there.
|