---
title: "📅 Using date rules"
excerpt: "How to use the date rules"
sidebar_position: 4
---

## Background information

### Goal of the date rules

Most images have metadata for dates, but these are split in multiple places and around 10-20% of "real world" photos have incomplete data metadata. The configurable date time parser allows us to get these dates and display them nicely as the user wants it too.

### How does it work?

The logic for extracting local time is described as a list of rules that should be applied
one after another until one rule is able to extract date time (or until all rules are tried
without success).

If a rule can't fetch the time (e.g. the EXIF tag value is not present or the path doesn't match
the rule) then that rule is considered to be not applicable.

### Figuring out the timezone

Some sources of data might give us very rich information, e.g. timestamp + timezone,
but others only allow getting local time (without knowing real timestamp).

For historical reasons, it is expected to have a timestamp and a timezone.

In some cases, it is known that the local time the rule would obtain is not in the desired
timezone. E.g. video date time tag QuickTime:CreateDate is by standard written in UTC rather than local time. For such cases, each rule can optionally have setting "transform_tz" set to "1" - in that case this rule should also specify "source_tz" and "report_tz" settings where
"source_tz" is describing the timezone that the rule is getting and "report_tz" is describing
the timezone of the location where the photo/video was taken. Both "source_tz" and "report_tz"
should be one of the following:

- "utc" - UTC timezone
- "gps_timezonefinder" - the timezone of the GPS location associated with the photo/video - "name:<timezone_name>"
- the timezone with the name <timezone_name>

If either "source_tz" or "report_tz" could not be obtained, the rule is considered to be not applicable.

### The different rule types

Currently, supported rule types:

- "exif" - local time is taken using exif tag params["exif_tag"] as obtained with exiftool
- "path" - time is taken from the filename using a regular expression matching
- "fs" - time is taken from file property. Since these are UNIX timestamps without timezones
  they are always translated to local time using UTC.
- "user defined" - the date time defined by the user from the frontend

## How to use it

### Adding optional rules

To add a new rule, go to settings and navigate to the date time parsing rules. Click on the button "Add rule". You can now add optional rules like using the modified time or to create time from the file.

### Changing the order

The top rules will be applied first, and the bottom rules be applied last. To change the order, drag and drop one of the cards and save them by clicking on update.

### Applying the rules

The date rules are applied on each scan. If you changed the rules to your liking, click on "Rescan all Photos" and then the new rules will be applied
