find -newermt doesn't match files modified exactly at midnight. For example, 
find -newermt 2010-01-01 does not match a file dated 2010-01-01T00:00:00 with 
no subseconds.

Matching these files is necessary because some file systems have a low 
granularity so a file modified half a second after midnight in FAT32 is still 
rounded down to a last modified time (mtime) 00:00:00. In addition, FAT32 only 
records dates, not times for last access time (atime), meaning in timezone 
+0000, all last access times are exactly midnight.

For these reasons, find -newermt should match files created exactly at midnight.

How to reproduce:

touch -m -d "2010-01-01 00:00:00" example.txt
find example.txt -newermt 2010-01-01 # no match

The closest thing would be using 23:59:59 from the last day, but this would 
match files created in the last second before midnight on file systems with 
subsecond time granularity (such as ext4, exFAT, NTFS).

There currently seems to be no universal way to match all files created on a 
day including exactly on midnight.

Reply via email to