ExFAT has below effective resolutions when operating on Windows:
Date Created: 10ms
Date Modified: 2 s
Date Accessed: 1 day
Which means, when a file modified on a different filesystem, such as NTFS, is copied over to FAT filesystems, it rounds the resolution for Date Modified over to next nearest 2 second (even second).
Example:
10:05:09 will become 10:05:10
10:05:08 may become 10:05:10
Only if its date resolution has information for milliseconds after the initial second. If not, it will be copied over as 10:05:08.
This is true for files that were previously on FAT-based filesystems (FAT32, ExFAT) before being copied or moved to NTFS (or other filesystems of higher resolution), so it will carry over the modified time which ExFAT reports, which is of resolution 2 second. Hence, unless the file is later modified again while stored on filesystems of higher resolution like NTFS, moving it back (unmodified) to FAT based filesystems should no longer update since modified time stored in NTFS for such file is matching the 2 second resolution that FAT desires, which is most likely for your other file that did not update.
Reference:
- https://stackoverflow.com/questions/11546839/why-does-file-modified-time-automatically-increase-by-2-seconds-when-copied-to-u
- https://devblogs.microsoft.com/oldnewthing/20140903-00/?p=83
EDIT: For some reasons, Linux based systems such as Ubuntu, take consideration of 10ms resolution data within ExFAT's Date Modified, but not Windows. Related answers:
- https://stackoverflow.com/questions/71072390/how-to-access-last-modified-date-time-for-file-on-exfat-with-10-ms-resolution
- https://answers.microsoft.com/en-us/windows/forum/all/why-does-windows-only-have-2-second-resolution-for/380ad521-9f10-46ca-88cd-078b1cf328c5