Simple filename timestamp

Posted on August 12, 2020

When writing Jekyll posts or creating log files with dates on them, I usually struggle with finding a direct way of accomplishing that. There’s a simple solution: date -I.

./ > my-program.$(date -I).log
cp _posts/$(date -I)

Using this built-in GNU/Linux tool allows you to touch $(date -I).md to readily create a file.

I always had to read man date or search the web over and over, and after doing this repeatedly it became clear that both date -I and date -Is (s here stands for seconds) are the thing that I’m looking for 95% of the time:

# inside
echo "Program started at $(date -Is)"
# output is:
# Program started at 2020-08-12T09:04:58-03:00

Both date formats are hierarchical, having the bigger time intervals to the left. This means that you can easily sort them (and even tab-complete them) with no extra effort or tool required.