Modified vs. Access Time


#1

I'm asking this strictly out of curiosity. Why does changing a tag only change a file's "modified" time, while adding/changing cover art also changes the "accessed" time?


#2

I can tell you the difference in what happens to the files. When tags are updated or relatively small new text fields added, the original file is updated in place. Tags usually contain some amount of free space into which they can be expanded. When you add a large amount of metadata like an image, however, it's often necessary to completely rewrite the file.

I've never completely understood accessed time, but I believe it's up to applications to update them, not the operating system. Apparently Mp3tag doesn't bother.


#3

Hm, I am not totally sure whether your observation is right, I should have to check it for myself.

Each Windows file has three date and time stamps ...

  • Date Created ... when the file was created for first time
  • Date Modified ... when anything was written in the file
  • Date Accessed ... when the file was accessed for reading or execution or whatever else.

Windows Explorer shows by default only the 'Date Modified' because one normaly cares only when the content of the file was changed last time.
If you want to see the other dates from Windows Explorer you can go to "View" - "Choose Details" and check the other two dates.

A file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC). The system records file times when applications create, access, and write to files.

The time stamps displayed by the operating system are by no means foolproof.
For various reasons, the dates and times recorded may be inaccurate.

Not all file systems can record creation and last access times, and not all file systems record them in the same manner. For example, the resolution of create time on FAT is 10 milliseconds, while write time has a resolution of 2 seconds and access time has a resolution of 1 day, so it is really the access date. The NTFS file system delays updates to the last access time for a file by up to 1 hour after the last access.

The NTFS file system stores time values in UTC format, so they are not affected by changes in time zone or daylight saving time. The FAT file system stores time values based on the local time of the computer. For example, a file that is saved at 3:00pm PST in Washington is seen as 6:00pm EST in New York on an NTFS volume, but it is seen as 3:00pm EST in New York on a FAT volume.

A programmer can set the file times by modifying the creation, last accessed, and last write times without changing the content of the file.

See also ...
http://msdn.microsoft.com/en-us/library/wi...0(v=vs.85).aspx
http://www.techrepublic.com/article/build-...windows/5034280

DD.20130114.1012.CET


#4

Good summary! This important stuff because if you archiving (mirroring) your music, as I do, you want to make sure that files that you have updated the tags on will still get copied over. Some software does NOT cause the Date Modified attribute to change, which is bad, if you want to sync based on time stamp.

Thankfully, Mp3Tag, and Mixmeister, and even Windows Explorer (I'm running Win 7) do touch the Date Modified attribute when a tag is modified.

I use Beyond Compare 3 for syncing -- it's awesome. If not for the Date Modified attribute being changed, I would have to do a binary compare which is VERY SLOW, esp. with 800G of music :slight_smile:


#5

With my preferred playback software, which has a 'New Music' browsing feature based on Date Modified, maintaining the date modified is critical for keeping things in their original order. Without this ability, any time a CD's tags are edited, the CD bubbles up to the front of the list, which defeats the purpose. Mp3tag has an option to not change the modified date and I use it religiously to keep the original date that the CD was added to the library.

But like you say, some modification to Date Modified is generally necessary to use syncing software (I use robocopy) for mirrored backups. It's also necessary for my playback software to detect a change and update its own internal library database when tagging edits are made. For this reason, I have a simple VBScript that I can run from Mp3tag's Tools menu which adds a couple of seconds to the Date Modified. This keeps New Music in its original order, with a mod date essentially the same as it was originally, while allowing software that relies on mtime to work properly.