How to automatically paste today's date with keyboard shortcut?

I am on El Capitan OS X.

I want to be able to hit some keyboard shortcut and then have today's date be automatically outputted.

Example:

When I press Option + D, "2016_06_13" is pasted into the text field.

The date would be automatically calculated based on my time zone.

Ideally, I'd like to be able to do this universally. So in Finder, Safari, TextEdit, etc. — not just exclusive to one program.

Having this shortcut would streamline my workflow.

Is this possible?


You could do it with Automator like this:

  1. Create new: Services
  2. Services receives no input in any application
  3. Use the search to find and add action: Run Applescript
    • Copy and paste the following to the field on the right:

tell application "System Events"
    set _Date to (current date)
    keystroke ¬
        (year of _Date as text) & "_" & ¬
        text -2 thru -1 of ("00" & ((month of _Date) as integer)) & "_" & ¬
        (day of _Date as text)
end tell

Note that the day will not have a leading zero like the month does. If you want that, you could replace the line with: (day of _Date as text) with: text -2 thru -1 of ("00" & ((day of _Date) as integer))


  1. Save with: Cmd + S. Give it a name you can remember in the next step.
    • If you simply use the Save command ( Cmd + S ) instead of Save as... the Service file is automatically put in the right place.

enter image description here

The Last step would be to define a shortcut for the service you just made.

Go to mac System preferences > Keyboard > Shortcuts > Services and then find the service you saved before. You should find it at the bottom area of the list. Double click the none text on the right side of the service name and give it a shortcut.


I wanted to use the system date format for consistency, rather than programming it into the shortcut.

It takes about 30 seconds to set up.


In Automator (Applications folder)

  1. New service

  2. Receives no input in any application

  3. Drag Run Applescript from the Utilities section on the left into the right pane

  4. Check Output replaces selected text at the top of the right pane

  5. In the Applescript window replace all the text with

on run {input, parameters}
set _date to short date string of (current date)
tell application "System Events"
        keystroke _date
end tell
end run
  1. Save the service as Short Date workflow

enter image description here

In System Preferences > Keyboard › Shortcuts

  1. Click Services on the left

  2. Short Date will be listed under Text in the right panel

  3. Add a key combination for the new Short Date service

enter image description here

In System Preferences > Lanuage & Region › Advanced

  1. Click on the Dates tab

  2. Modify the Short: format as desired

  3. Click OK

enter image description here

Note: this system depends on the Services menu under the Application menu. When the menu is not accessible, the service isn't either. It does not work, for example, in the open and save dialog.