Question: I have many photos named with a date format but the EXIF dates don't match.

e.g. `2016-12-16_20-20-29.jpg`

Running them through `EXIFTOOL` I can almost overwrite the dates but it doesn't match the exact date format.

```
exiftool "-datetimeoriginal<filename" ./

```

This sets the date to the correct calendar day but ignores the time.

```
exiftool "-datetimeoriginal<filename" -d "%Y-%M-%D_%H-%M-%S.%%e" ./

```

I believe the `-d` parameter sets a data format but this returns as error of `Warning: Error parsing time in ExifIFD:DateTimeOriginal (PrintConvInv)`

Is this the correct method to use?

Answer: 
Your first command should work correctly. From [Exiftool FAQ 5](https://exiftool.org/faq.html#Q5):  

"ExifTool is very flexible about the actual format of input date/time values when writing, and will attempt to reformat any values into the standard format unless the -n option is used. Any separators may be used (or in fact, none at all). The first 4 consecutive digits found in the value are interpreted as the year, then next 2 digits are the month, and so on. [The year must be 4 digits. Other fields are expected to be 2 digits, but a single digit is allowed if the subsequent character is a non-digit.] "

The example given following that paragraph is almost the same as your first command.

The `-d` option isn't needed for this type of operation.

Example output 

```
C:\>exiftool -datetimeoriginal "X:\!temp\2016-12-16_20-20-29.jpg"

C:\>exiftool "-datetimeoriginal<filename" "X:\!temp\2016-12-16_20-20-29.jpg"
    1 image files updated

C:\>exiftool -datetimeoriginal "X:\!temp\2016-12-16_20-20-29.jpg"
Date/Time Original              : 2016:12:16 20:20:29

```
Set to oldest date from Exif meta or file name
==============================================

Step 0 - install exiftool from below
------------------------------------

[Installing ExifTool](https://exiftool.org/install.html#Windows)

 **Step 0.1**
-------------

Save the **[oldest\_datetime\_config](https://github.com/pratyushtewari/exif-scripts/blob/master/oldest_datetime_config)** in the home folder `C:\Users\YOURUSERNAME` or in your home directory `~` or in the same folder where you have installed exiftool. This step is important for the following steps to be successful.

You can find these in a script here but I have found that running the commands in the pic folder I mentioned in the options below are much much faster than running these through python script exif-scripts/setToOldestDate.py For faster processing you can run these commands directly in powershell from the pic folder you are planning.

If you are running WSL then run these commands from poweshell and not WSL are the file system read write from the windows virtualization will blow up your ram and will slow down the process to a halt.

 Note that these scripts are recursive and will affect all the subfolders are well.

Well … now — pick your options:

### Option 1 - In case you need to pick the date from the file name.

This is pretty flexible and fuzzy parser from exiftool but if you want it to be absolutely sure then you can remane the file to include yyyymmdd\_hhmmss and remove all the other number before it (after is OK).

```
exiftool "-FileModifyDate<filename" −overwrite_original -S -m -progress -ee -q -q ./

```

### Option 2 - set all the dates to the oldest date

```
exiftool -overwrite_original "-FileModifyDate<OldestDateTime" "-ModifyDate<OldestDateTime" "-DateTimeOriginal<OldestDateTime" "-CreateDate<OldestDateTime" "-GPSDateTime<OldestDateTime" -S -m -progress -ee -q -q ./

```

### Option 3 - set the name of the file in PXL\_yyyymmdd\_hhmmss-[number-if-conflict].extension

```
exiftool "-filename<OldestDateTime" -d PXL_%Y%m%d_%H%M%S%%-c.%%e -S -m -ee -progress -q -q ./

```

to push all the files in the current directory use

```
adb push -a . /sdcard/DCIM/Camera/

```

-a is to preserve the attributes.

**⌛ Refresh Android Media Store**
---------------------------------

As a last step, you need to refresh the android media store database to let google photos know which new files to backup. Currently it does not always detect automatically so why wait for that. Install [Refresh MediaStore](https://play.google.com/store/apps/details?id=com.kotorimura.refreshmediastore) and run it after the adb push is complete from the phone. Then you can open Google Photos and see that the backup is starting.