Ah yes, now I look at it any CDs I have ripped with MC have a [Date First Rated] equal to the date and time I started the rip. Then the [Date Imported] is a time shortly after that.
However the [Date First Rated] is an editable field, and if I delete the value in it, then rate the Track, the [Date First Rated] field is updated to the current date and time. So as I thought, there is functionality built around that field.
BTW, to the OP, I think this brief thread says it all, in terms of having an existing [Date Last Rated] field:
https://yabb.jriver.com/interact/index.php/topic,107397.0.htmlOf course, that didn't stop me having a go at creating a [Date Last Rated] field, with a calculated value using an expression, based on comparing the current Rating in the Library, [Rating, 0], and the current Rating in the actual media file, Tag(Rating), relying on a slight timing difference between when the Library and the file were updated.
FormatDate(If(!isequal([Rating,0], Tag(Rating), 2), Now(),), DateTime, Not Rated)
Miserable failure. The expression gets updated every time the mouse moves over Rating stars, so while I could briefly get the [Date Last Rated] set to the current Date and Time, as soon as I moved the mouse it reverted to the value for the False Expression in the If() function, which in the simplified test above was blank, and hence the output was "Not Rated". I was using "Not Rated" as a simple indication of a failure of the If() function to detect a change in the rating.
I tried a few other expressions but didn't succeed. Just as well maybe, because if it worked it would mean MC would be reading the Rating tag from all files in a View, to see if the rating had changed. Processor and disk intensive!
Anyway, while MC programmatically detects when the rating is first set for a Track and sets an empty [Date First Rated] to the current date and time, I can't work out how to detect if the rating is changed using an expression. Someone else might like to chime in. Or this is a job for JRiver.