Use Calculated Dates in Building Other Variables (like URL) [Example]

Use Case

  • Calculate new dates based on a start/base date, and offsets (month, day, time).
  • Use these dates in other KM Variables, like a URL
  • I used a shell script with the Bash date command
    • It is simple and effective
    • I could not determine a good, efficient set of KM Actions using the ICU tokens/functions to achieve this
    • If you know how to do in KM, or can improve on the Bash script, please feel free to post below

MACRO:   Use Calculated Dates in Building Other Variables (like URL) [Example]

~~~ VER: 1.0    2018-07-20 ~~~


Use Calculated Dates in Building Other Variables (like URL) [Example].kmmacros (15 KB)
Note: This Macro was uploaded in a DISABLED state. You must enable before it can be triggered.

This macro was built in response to:
Use two calculated Date strings in URL

Example Output





  • Calculate New Dates based on Delta Days
    • And Build URL using these Dates


  1. KM 8.0.2+
  • But it can be written in KM 7.3.1+
  • It is KM8 specific just because some of the Actions have changed to make things simpler, but equivalent Actions are available in KM 7.3.1.
  1. macOS 10.11.6 (El Capitan)
  • KM 8 Requires Yosemite or later, so this macro will probably run on Yosemite, but I make no guarantees. :wink:

NOTICE: This macro/script is just an Example

  • It has had very limited testing.
  • You need to test further before using in a production environment.
  • It does not have extensive error checking/handling.
  • It may not be complete. It is provided as an example to show you one approach to solving a problem.

How To Use

  1. Trigger this macro.
  2. Enter/Change Base Date and Days Offset
    • It will then calculate new dates and build the URL
      (Note: URL may need to be encoded).


  • Carefully review the Release Notes and the Macro Actions
    • Make sure you understand what the Macro will do.
    • You are responsible for running the Macro, not me. ??
  1. Assign a Trigger to this maro..
  2. Move this macro to a Macro Group that is only Active when you need this Macro.
  3. ENABLE this Macro.
    (all shown in the magenta color)
    • Prompt for User Input -- change defaults as you like


  • Any Action in magenta color is designed to be changed by end-user


  • To facilitate the reading, customizing, and maintenance of this macro,
    key Actions are colored as follows:
  • GREEN -- Key Comments designed to highlight main sections of macro
  • MAGENTA -- Actions designed to be customized by user
  • YELLOW -- Primary Actions (usually the main purpose of the macro)
  • ORANGE -- Actions that permanently destroy Variables or Clipboards,
    OR IF/THEN and PAUSE Actions


  • While I have given this limited testing, and to the best of my knowledge will do no harm, I cannot guarantee it.
  • If you have any doubts or questions:
    • Ask first
    • Turn on the KM Debugger from the KM Status Menu, and step through the macro, making sure you understand what it is doing with each Action.