Copy current YYYYMMDD_HHMM timestamp to your clipboard (using Applescript)

When naming files, I love including the date with the format YYYYMMDD_HHMM. Take today, August 27, 2021, 1:52pm. That would look like 20210827_1352.

I use this format soooo much, that I finally wrote an Applescript that automatically puts that date on my clipboard in that exact format. I no longe have to type it all out.

The script is stored as an app in my dock. Whenever I need the date, I just click on the app, and BOOM. I have the date on my clipboard. It’s ready to be pasted wherever.

If you would like to use this app, here’s how to create it.

1. Open the Script Editor app
This can be found at: /Applications/Utilities/Script Editor

2. Create a new document in Script Editor

3. Paste in the following code:

set CurrentDateTime to (do shell script "date +\"%Y%m%d_%H%M\" | awk '{$1=$1;print}'")
set the clipboard to CurrentDateTime

It will look like this:

4. Export it as an app.
Go to File > Export…
Name your app whatever you like. I called mine “Copy date time app”

5. Drag that app over to your dock.

How to use the “Copy date time app”

1. Just click on the app in your dock.
The current date/time will automatically be copied to your clipboard.

2. Paste the date/time into where ever you want it.

How to customize this app

If you’d like to change the format of the text, just change the text between the quotes: “%Y%m%d_%H%M\

  • %Y = 2021 (year)
  • %m = 08 (month with leading zero)
  • %d = 27 (if today was the first, it would use a leading zero in 01)
  • _ = (separator. an underscore (you could also use a dash, or if you don’t want any separator, just delete this)
  • %H = 13 (hour using 24 hour clock)
  • %M = 52 (minute)

Full table of the date time formats

%FORMAT StringDescription
%%a literal %
%alocale’s abbreviated weekday name (e.g., Sun)
%Alocale’s full weekday name (e.g., Sunday)
%blocale’s abbreviated month name (e.g., Jan)
%Blocale’s full month name (e.g., January)
%clocale’s date and time (e.g., Thu Mar 3 23:05:25 2005)
%Ccentury; like %Y, except omit last two digits (e.g., 21)
%dday of month (e.g, 01)
%Ddate; same as %m/%d/%y
%eday of month, space padded; same as %_d
%Ffull date; same as %Y-%m-%d
%glast two digits of year of ISO week number (see %G)
%Gyear of ISO week number (see %V); normally useful only with %V
%hsame as %b
%Hhour (00..23)
%Ihour (01..12)
%jday of year (001..366)
%khour ( 0..23)
%lhour ( 1..12)
%mmonth (01..12)
%Mminute (00..59)
%na newline
%Nnanoseconds (000000000..999999999)
%plocale’s equivalent of either AM or PM; blank if not known
%Plike %p, but lower case
%rlocale’s 12-hour clock time (e.g., 11:11:04 PM)
%R24-hour hour and minute; same as %H:%M
%sseconds since 1970-01-01 00:00:00 UTC
%Ssecond (00..60)
%ta tab
%Ttime; same as %H:%M:%S
%uday of week (1..7); 1 is Monday
%Uweek number of year, with Sunday as first day of week (00..53)
%VISO week number, with Monday as first day of week (01..53)
%wday of week (0..6); 0 is Sunday
%Wweek number of year, with Monday as first day of week (00..53)
%xlocale’s date representation (e.g., 12/31/99)
%Xlocale’s time representation (e.g., 23:13:48)
%ylast two digits of year (00..99)
%z+hhmm numeric timezone (e.g., -0400)
%:z+hh:mm numeric timezone (e.g., -04:00)
%::z+hh:mm:ss numeric time zone (e.g., -04:00:00)
%:::znumeric time zone with : to necessary precision (e.g., -04, +05:30)
%Zalphabetic time zone abbreviation (e.g., EDT)

Enjoyed this blog post?

Receive notifications of new posts via email

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.