Translations of this page:
  • en

How To: Tasker - Add an Ordinal-Type date with a Total Launcher Text Variable

Standard date formatting in Total Launcher displays the day as a simple integer (e.g., “1”, “21”). A specific configuration is required to display an ordinal format (e.g., “1st”, “2nd”, “21st”).

Because Total Launcher does not allow mixing date codes (like d) and custom variables (like <ord>) in a single text field, a Modular Composite Approach is utilized:

  • Tasker generates the “Ordinal Day” unit (e.g., “21st”).
  • Total Launcher handles the Month, Year, and Day of Week natively.
  • The separate objects are arranged on the screen to form the desired date format.

Section 1. Configuring the Tasker Task

This task calculates the day number, determines the correct suffix (st, nd, rd, th), and sends the combined string to Total Launcher.

  1. Create a new Task in Tasker named “Date Ordinal” (to produce day_ord).
  2. Action 1: Extract Day Number
    1. Add the action Parse/Format DateTime.
    2. Set Input Type to Now.
    3. Set Output Format to d.
    4. Output Variable: Set to %day_num.
    5. This isolates the day (e.g., “21”) for calculation.
  3. Action 2: Calculate Suffix (Run Shell)
    1. Add the action Run Shell.
    2. In the Command field, enter this code 1)
    3. Set Store Output In to %day_ord.
    4. This script takes the input “21” and outputs “21st”.
  4. Action 3: Send to Total Launcher
    1. Add the action Plugin > Total Launcher > Send variable.
    2. Set Configuration to send %day_ord to the Total Launcher variable name day_ord.

Section 2. Configuring the Tasker Schedule (Profile)

To ensure the date updates automatically, a Tasker Profile is required to trigger the task at the start of every day.

  1. Navigate to the Profiles tab in Tasker.
  2. Select Add (+)
    1. A TaskerNet dialog open
      1. Select Create
    2. A new Profiles dialog opens. Select Time.
    3. Set From: to 00:01 (12:01 AM).
    4. Every - This option is to be left in it's default state (unchecked and left blank)
    5. Set To: to 00:01 (or leave blank depending on Tasker version).
  3. Tap Back (←) to save the time context.
  4. A new dialog opens listing all tasks. Scroll and select the Date Ordinal task (created in Section 1).
  5. Result: Tasker will now run the “Date Ordinal” task at 12:01am and push the new ordinal date to Total Launcher essentially immediately after midnight every day.

Section 3. Configure Total Launcher Setup with Layout Flexibility

With the Tasker Ordinal Date variable established, separate text objects need to be created for each Total Launcher date component. This allows for precise control over the desired layout.

Step 1: Display the Ordinal Day from Tasker

This object will display the variable generated by Tasker.

  1. Enter Edit Mode (long-press an empty area).
  2. Select Add (+) > Graphic > Text.
  3. Open the Options menu (Gear icon) for the new text object.
  4. In the Edit dialog select Text.
  5. In the Text dialog scroll down to Advanced - Variable
  6. In the input field, enter the variable tag: <day_ord>.
  7. Tap OK and back out of the screen to the page
  8. The object will now display the ordinal date (e.g., “21st”).
    1. If Section 1 (Configuring the Tasker Task) has not been run, the variable day_ord has no value and will display it's textliterally.
    2. If the Tasker action or event has been run, the Total Launcher should show the day's actual date in ordinal format (in this narrative the 21st is used)

Step 2: Create and Display TL's Native Components (Month/Year/Day)

These objects use Total Launcher's built-in date engine. Repeat this process for each component needed (e.g., one object for Month, one for Year, one for Day of Week).

  1. Enter Edit Mode > Add (+) > Graphic > Text.
  2. The “Text” object is placed on the page and is selected
  3. In the Objected Design menu tap the Option icon > Text > Advanced - Variable elements.
  4. Select Date/Time.
    1. The input dialog typically defaults to MMMM d, yyyy (in this narrative would result in August 21st, 2025)
  5. Change the Default to the Desired Format:
    1. At the end of the input dialog is an Option icon . Tap it.
      1. Time Zone: provides for global time zone selection
      2. Use English: <undocumented whether this provides for US or UK time formats ☛ registered visitor confirmation requested>
      3. Format: Displays formatting for month-date-year and day of week styles
        1. If none of these styles are desired (an the purpose of this procedure is allow customization), the user may wish to learn more technical detail by tapping the (?) icon but below is the TL>DR explanation for this procedure. In this dialog just tap Cancel and proceed to the following sub-step:
          1. After cancelling, the Text dialog shows the input formatting line. Enter one of the following formats for the desired single object:
            1. - Standard Codes:
              1. MMMM = Full Month (August)
              2. MMM = Short Month (Aug)
              3. yyyy = Year (2025)
              4. EEEE = Day of Week (Thursday)
              5. EEE = Short Day (Thu)
      4. When properly set, press OK and back out of the dialog to the page with the text object selected.
  6. Repeat this Section3 Step 2 in it's entirety for each descriptive date object desired.

Step 3: Mix the Objects in the Date Layout

The separate objects are dragged into the desired visual order and location on the page.

  • Full Header Format:
    1. Layout Order: [Day of Week] , [Month] [Ordinal Day] , [Year]
    2. Visual Result: Thursday, August 21st, 2025
  • International Format:
    1. Layout Order: [Day of Week] [Ordinal Day] [Month] [Year]
    2. Visual Result: Thursday 21st August 2025
  • Stacked/Widget Style:
    1. The [Day of Week] is placed in a large font at the top.
    2. The [Month] and [Ordinal Day] are placed below in a smaller font.
  • Be Creative
    1. “Imagine It! Make It!”

Section 4. Final Alignment of the Text Objects

  1. After preliminarily arranging the objects, select all the text objects.
    1. Use the Object Design menu's Align tools (specifically Vertical “|” and Horizontal “_”) to ensure the text sits on the same baseline or centered, or right/left boundary.
    2. Then, with all the text objects selected, tap the Group tool to combine them into a single widget for easy movement and final placement.

Procedure Complete!

1)
function ordinal () {
  case "$1" in
    *1[0-9] | *[04-9]) echo "$1"th;;
    *1) echo "$1"st;;
    *2) echo "$1"nd;;
    *3) echo "$1"rd;;
  esac
}     
echo "$(ordinal %day_num)"

Discussion

Enter your comment. Wiki syntax is allowed:
Please solve the following equation to prove you're human. 49 +12 =