# Dates

> Publication date against last changed, why fixing a typo should not move an article to the top of the blog, and how to backdate one you are importing.
>
> From the MightyBuilder documentation: https://docs.mightybuilder.ai/dynamic/dates

Two dates, and knowing which is which is the difference between an index that
behaves and one that reshuffles itself every time you fix a typo.

## The two

**`date`** is the publication date — when the article came out. You set it, and
it does not move unless you move it.

**`lastmod`** is when the page last changed. It updates on its own every time
you publish a change to that page.

## Sort by date, not lastmod

An index sorted by `lastmod` reshuffles whenever you touch anything:

```liquid
{% assign posts = collections.articles | sort: "date" | reverse %}
```

Correcting a spelling mistake in a two-year-old article should not move it to
the top of the blog. Sorting by `date` is what stops that.

`lastmod` has its uses — "updated on" under a heading, or a list of what changed
recently — but it is the wrong thing to order a blog by.

## Setting the date

It is an ordinary setting on the article, alongside the title and the description — and a page has one too. Left empty,
it is the day the page was first published, which is right for almost
everything. Set it only to say something different: **backdating** an article
you are importing from somewhere else, or setting a date ahead of today for
something written in advance.

A date in the future does not hide the page. It publishes like anything else and
simply sorts to the top of a newest-first list.

## Showing a date

```liquid
<time datetime="{{ page.date }}">{{ page.date | date: "%e %B %Y" }}</time>
```

The `datetime` attribute wants the full value, which is what `page.date` is.
The visible part is formatted with `date`, and the site's own time zone is what
it formats in.

## A page with no date

A page that has never had one sorts as though it were empty, which puts it at
one end of the list. If an index looks oddly ordered, an article with a missing
date is the first thing to check.
