Main Menu

Dates: exif and file

Started by tomczak, March 05, 2011, 12:40:11 PM

Previous topic - Next topic

tomczak

Could someone straighten me out on the interpretation of various dates associated with images/files: where are they written and what events may/have change(d) them?

1) DateTimeOriginal, ModifyDate, and CreateDate are all in EXIF?
2) What's the difference between the DateTimeOriginal and CreateDate?
3) Is File Modify Date the same as Modify Date in Standard Details list? It is a file stamp and have nothing to do with EXIF, right?
4) Files have DateCreated, DateModified, and DateAccessed stamps, right? The one that we can see in exiftool GUI is the DateModified?  Does the DateAccessed change every time a file is viewed?

Thanks.

Phil Harvey

Quote from: tomczak on March 05, 2011, 12:40:11 PM
1) DateTimeOriginal, ModifyDate, and CreateDate are all in EXIF?

These tags may be found in various types of metadata, including EXIF.

Quote
2) What's the difference between the DateTimeOriginal and CreateDate?

DateTimeOriginal is the time when the image was captured (on film, or by a digital camera).  CreateDate is the time when the digital image file was first created (by scanner, or same as DateTimeOriginal for a digital camera).

Quote
3) Is File Modify Date the same as Modify Date in Standard Details list? It is a file stamp and have nothing to do with EXIF, right?

FileModifyDate is not information contained within the file.  It is the time stored by your filesystem to indicate the last time the file was modified.  This can change if you copy the file to another computer.

ModifyDate is contained in the EXIF, and should be updated when the image is edited.

Quote
4) Files have DateCreated, DateModified, and DateAccessed stamps, right? The one that we can see in exiftool GUI is the DateModified?  Does the DateAccessed change every time a file is viewed?

The tag called FileModifyDate is from the filesystem (what you call DateModified).  What you call DateCreated is not displayed by exiftool.  Neither is DateAccessed.  I don't know what affects DateAccessed.  Both DateCreated and DateAccessed are system dependent, and may have a different meaning or not exist at all on different systems.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

Ok I enter at this point.
I found four Dates/Times in the Metadata of an image:






File Modification Date/Time: 2009:04:07 23:01:06+02:00
Modify Date: 2008:10:04 08:56:31
Date/Time Original: 2008:10:04 08:56:31
Create Date: 2008:10:04 08:56:31

You have explained the last three entrys in the post before.
But what is the first entry? Seems that this is the system Modification Date because when I modify the image with
exiftool -AllDates-=1 Bild.jpg
this will change to the current Time/Date.

What I try to do is I will change the Date shown in "Finder" as well. Because "Finder" list Dates like "Erstellt" "Geändert" "Zuletzt geöffnet" (german)
I understand you that these Dates are not stored in the file directly? What is "File Modification Date/Time" when this is not the system Date?
And how can I change all Dates/Times of the file to the one of the Metadata?
-Mac OSX Mountain Lion-

Phil Harvey

There is a bit of confusion because the tag named FileModifyDate has the description "File Modification Date/Time".

By default, the descriptions are shown.  Use -s to show the tag names, or -lang de to show the descriptions in Deutsch.

FileModifyDate is updated to the current time when the file is rewritten unless you use the -P option to preserve it.

Also, you can use the -G or -G1 (or -g or -g1) to show the group names so you can see where the tags came from.  All filesystem tags are in the family 0 "File" group and the familiy 1 "System" group.  Other date/time tags will likely be in EXIF groups.

You can copy tags back and forth from wherever you want to wherever you want using a command like this:

exiftool "-DSTTAG<SRCTAG" FILE

Where FILE is the image file name, DSTTAG is the destination tag, and SRCTAG is the source tag.  You copy as many tags as you want in the same command by adding more arguments like this.


- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

Thanks, wonderfull, perfect!
Your descriptions are perfect. Not only a few words but as many as needed to describe things that users like me understand it. Thanks for for your detailed help. I will try it when I am back at home.

First I thought that the information I got was only EXIF Data.
But you said it is a combination of Exif, File and System and when I do not use a parameter like "-G" all informations I could get are listed in one unsorted list. But nothing is left. Only not sorted.
Is there any Date/Time which is not listed bei ExifTool? In my list I can see four Dates/Times. The last three are from Exif what I can read in your description. Maybe the first is the one from File or System. But in "Finder" I can see more Dates/Times. Finder shows
"Erstellt" Maybe equal to "Create Date"
"Geändert" Maybe equal to "Modify Date" or "FileModifyDate"
"Zuletzt geöffnet" No analogy in Exif
All are shown with the Date 2009:04:07 23:01:06. So I think this Dates are not from the Exif Data because Exif are listed with the year 2008. "Geändert" could be the "FileModifyDate". When this is right it seems that the file has six or seven? different Dates/Times.

  • File Modification Date/Time (Maybe "Geändert")
  • Modify Date   
  • Date/Time Original
  • Create Date
  • Erstellt
  • Zuletzt geöffnet
Is ExifTool not shown all Dates of a file?
-Mac OSX Mountain Lion-

Phil Harvey

ExifTool only shows the filesystem modification date.  The filesystem creation date and access date are not available on all filesystems so they are not extracted by ExifTool.  (Unix filesystems do not support creation dates, and many systems do not support access dates.)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

Now I know that the "File Modification Date/Time" is used in Finder for the "Geändert or Erstellt". I changed this File Information with ExifTool and I can see the change in Finder. So MacOSX(Unix) displays a "Erstellt =Creation" Date. What do you mean with it does not support creation dates. It is listed in Finder?!

I also used the "G" an "G1" parameter.
"G1" show me tags which are listed before with "G" as File now with System. With "G" all tags which are called System (with the use of "G1") are called File.
What is the different between "G" and "G1"? I can't find a description in your manuell.

exiftool "-DSTTAG<SRCTAG" FILE works great. So now I will apply it on all my 6.000 images. I think all dates in my image should be "DateTimeOriginal". So I will see the main Date Finder in whatever view I am.
-Mac OSX Mountain Lion-

Phil Harvey

Quote from: JanK on March 31, 2011, 06:57:18 AM
What do you mean with it does not support creation dates. It is listed in Finder?!

I said that Unix filesystems don't support creation dates.  You likely have your disk formatted with an OSX partition, which does support creation dates.

Quote
I also used the "G" an "G1" parameter.
"G1" show me tags which are listed before with "G" as File now with System. With "G" all tags which are called System (with the use of "G1") are called File.
What is the different between "G" and "G1"? I can't find a description in your manuell.

See here for a list of all group names, or here for descriptions.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

Oh I thought that MacOSX Filesystem = Unix Filesystem. But I was wrong.

I read it already but I could not find the relation to -G1 or -G. Now after reading again I tried the -G2 -G3 -G4 and I understand what you want to say in the docu.
-Mac OSX Mountain Lion-

Phil Harvey

#9
Right.  Maybe I should have explained:  -G is the same as -G0 -- it gives you the family 0 group names.

Also, you can specify multiple families with options like -G0:1 (see the application documentation).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

Everything for now is clear. Yes this site (application documentation) I was searching for. I saw it a few days before but can't find it back until now.

Maybe I could now start my exiftool "-FileModifyDate<DateTimeOriginal" ImageFolder with 6000 files in it but I'm a little bit nervous if nothing goes wrong. Is there anything else I should consider? I read something about that exiftools creates an _original at the end of a file when writing metadata.
But this only happens when I use for example exiftool -AllDates-=1 IMAGE.JPG but not with exiftool "-FileModifyDate<DateTimeOriginal" IMAGE.JPG. So I hope that there will be no 6000 new files created.
-Mac OSX Mountain Lion-

Phil Harvey

#11
The "_original" files are only created if you change information contained within the file itself.  (ie. if you change any "real" tag.  The 3 "pseudo" tags are the exception: FileName, Directory and FileModifyDate.  Documented here.)

I suggest running the command on a temporary directory containing a few images first to be sure that it works as expected before unleashing it on your image collection.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

Ok, the "FileModifyDate" belongs to the Bild.jpg but it is not written directly in the file. For example if I could take the Bild.jpg away from any file system this information will be lost?
In real world I could not take the Bild.jpg away from a file system so on every copy (ie. from a hard drive to a CD back to another hard drive to a floppy disk and back to a hard drive ; or in my situation from Windows to a CD to a Mac) the pseudoinformation "FileModifyDate" is copied seperatly besides the Bild.jpg and is stored in any filesystem on which the Bild.jpg was copied and is assigned to the Bild.jpg again and again. So it looks like that the "FileModifyDate" is inside the Bild.jpg but it isn't.
So like your description the proper Bild.jpg is not rewritten when I change the "FileModifyDate" because I only change a data besides this JPG stored in the filesystem.
Is this right?
-Mac OSX Mountain Lion-

Phil Harvey

I think you understand now.

But I think you could find cases when FileModifyDate is changed when copying. I haven't tried this, but I would think that all filesystem date/times would be changed if you try this:

1) Copy a file to a USB thumb drive.

2) Change the computer timezone.

3) Copy the file back to the computer.

Most USB drives are formatted with a FAT32 filesystem, which I believe stores date/times as localtime without timezone, and if so the times will change with your computer's timezone.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

JanK

I want to change the time (AllDates) of images first and then set "FileModiyDate" to the "DateTimeOriginal" of the image. And I do not want to create _original images.

My question is in which order do I have to write the camands?

exiftool "-AllDates+=0:50" -P -overwrite_original "-DateTimeOriginal>FileModifyDate" ImageFolder

I think that I don't have to use the "-P" because in the next step I override the "FileModifyDate". But for not doing anything that I do not want I use the -P.

In your examples you use things like that:
"text"
'text'
-Parameter="xxx"
"-Parameter=xxx"

I don't know when I have to use quotation marks and where i have to use it. And when I will use some parameters like -P or -overwrite_original, on which place should I write it?
-Mac OSX Mountain Lion-