You need to be more clear here. *nix files don't have a single timestamp, they have three. These are named mtime, ctime, and atime.
mtime is the time of last modification. This means the last time the contents of the file were changed. Note that there is no "creation" time in *nix, the mtime is the closest you have (it's helps to understand this if you think of a modification as erasing the old file and creating a new one).
ctime is the time of last change, that is, the last time the inode metadata was modified. This happens when the file is modified of course, but also at other times, such as when the permissions or ownership are changed, or the file is moved.
atime is the time of last access, the last time the file was read. However one of the odd quirks of the posix standard is that it defines any access of the file inode at all as reading. This includes simply running ls on the directory, so the atime changes quite often by default.
Because the last quirk can be annoying, and in the case of flash drives even leads to shorter hardware life due to excessive write calls, there are some mount options that you can use to control when atime is updated. You can use noatime to disable updating completely, or relatime, which makes it so that atime only updates if ctime or mtime have also changed. I personally recommend using relatime for most of your drives, particularly flash-based ones.
There are a few more atime based options available. Check out the mount man page.