This is a research guide based on cited documentation. It is not a report of firsthand testing. Our editorial method

The two functions that do most of the work

parseDate(text; format; [timezone]) reads text into a date value using a format string. formatDate(date; format; [timezone]) turns a date into text. [1] The optional timezone takes a TZ database name such as Europe/Prague or UTC; if you leave it out, the function uses your organization's time zone. [1] Make's own examples show parseDate reading 2016-12-28 16:03 with the format YYYY-MM-DD HH:mm, and reading the Unix timestamp 1482940986 with the format X. [1]

Treat the pair as a boundary: parse every incoming text date as soon as it enters the scenario, do arithmetic and comparisons on date values, and format only at the end, for the email, sheet or API that needs text.

Token cheat sheet

Make's formatting and parsing tokens share most letters. The most common mistakes are mixing MM (month) with mm (minutes) and HH (24-hour) with hh (12-hour). For parsing, Make lists h and hh as 12-hour time used with a or A. [6]

  • Make's parsing token list groups M with MM for months 1 to 12 and D with DD for days 1 to 31, so M/D/YYYY is the pattern to try for unpadded CSV dates; confirm it with Run this module only. [6]
TokenMeansExample output
YYYY / YYFour-digit / two-digit year2026 / 26 [2]
M / MMMonth number / zero-padded3 / 03 [2]
MMM / MMMMShort / full month nameMar / March [2]
D / DD / DoDay of month / zero-padded / ordinal7 / 07 / 7th [2]
ddd / ddddShort / full weekdaySat / Saturday [2]
H / HHHour, 24-hour clock / zero-padded15 / 15 [2]
h / hh with AHour, 12-hour clock with AM or PM3 PM / 03 PM [2]
mm / ssMinutes / seconds, zero-padded05 / 09 [2]
Z / ZZUTC offset with / without colon-05:00 / -0500 [2]
X / xUnix timestamp in seconds / milliseconds1360013296 / 1360013296123 [2]
W / EISO week of year / ISO day of week10 / 6 [2]

Arithmetic and setters

Make documents addSeconds, addMinutes, addHours, addDays, addMonths and addYears; each adds the given number, and a negative number subtracts. [1] The setters move one part of a date: setSecond and setMinute accept 0 to 59, setDay takes 1 to 7 with Sunday as 1 or an English day name, setDate takes 1 to 31, setMonth takes 1 to 12 or a month name, and setYear sets the year. Values outside a setter's range roll over into the next unit; setDate with 32 on a date in August 2015 returns September 1. [1]

  • Make's documentation pages show a few examples whose outputs do not match the inputs, so test any expression with Run this module only before relying on it.
GoalExpression patternWhy
Exactly 24 hours earlieraddHours(start; -24)Counts hours, not calendar days
Same time next weekaddDays(date; 7)Negative numbers subtract [1]
First day of this monthsetDate(date; 1)Day of month set directly [1]
Last day of this monthaddDays(setDate(addMonths(date; 1); 1); -1)First of next month, minus one day
Monday of the same Sunday-to-Saturday weeksetDay(date; monday)Sunday is day 1; accepts an English day name [1]

Worked example 1: US-format CSV dates

A CSV export from a US system has an order date column like 03/07/2026, meaning March 7. Parse it with parseDate(order date; MM/DD/YYYY; America/New_York). Midnight on March 7, 2026 in New York is 05:00 UTC, because clocks there have not yet moved to daylight time, so the stored value is 2026-03-07T05:00:00.000Z. To write it to a sheet in ISO style, use formatDate(parsed date; YYYY-MM-DD; America/New_York), which returns 2026-03-07.

Two variants trip people up. If the column drops leading zeros (3/7/2026), use M/D/YYYY. [6] If the file came from a UK or European system, the same text 03/07/2026 means 3 July, and only DD/MM/YYYY reads it correctly. Check a date with a day above 12 in the sample, such as 03/17/2026, to prove which convention a file uses.

Worked example 2: a reminder 24 hours before an event

An events sheet holds start times with offsets, such as 2026-11-12T15:00:00-05:00, which is 3:00 PM in New York on Thursday, November 12, 2026. The reminder time is addHours(start; -24), or 2026-11-11T20:00:00Z.

Run the scenario hourly, search for events, and add a filter that passes events whose start is Later than or equal to addHours(now; 24) and Earlier than addHours(now; 25); Make's date filter operators include Later than or equal to and Earlier than. [3] As long as runs stay about an hour apart, each event matches in one run. In the email, show the time with formatDate(start; dddd, MMMM D, h:mm A; America/New_York), which reads Thursday, November 12, 3:00 PM.

  • Store event times with an offset or in UTC; a bare 2026-11-12 15:00 is parsed in whatever time zone you pass, or the organization zone if you pass none. [1]
  • Hourly polling costs 720 trigger checks a 30-day month; see the scheduling guide for cheaper windows. [4]

Worked example 3: the off-by-one-day bug

A form sends a date-only value, 2026-11-05. Your organization time zone is UTC, so parseDate without a time zone reads it as midnight UTC, 2026-11-05T00:00:00Z. [1] A later step formats it for a West Coast client with formatDate(date; YYYY-MM-DD; America/Los_Angeles). Midnight UTC is 4:00 PM on November 4 in Los Angeles, so the email says November 4. The data was never wrong; it was parsed in one zone and formatted in another.

The fix is to decide which zone a date-only value belongs to and use it on both sides: parseDate(date; YYYY-MM-DD; America/Los_Angeles) followed by formatDate(date; YYYY-MM-DD; America/Los_Angeles). Make's date documentation describes both an organization time zone and a web time zone; [1] the functions default to the organization one, so a date that looks right while you browse can still be formatted differently inside a scenario. Daily schedules also follow the organization time zone, [5] so align it with where your customers are before debugging anything else.

SymptomLikely causeFix
Date shows one day earlyParsed at midnight UTC, formatted in a US zonePass the same time zone to parseDate and formatDate
Month and day swappedMM/DD versus DD/MM format stringTest with a day above 12
Time shows 03:00 instead of 15:00hh used instead of HH, or A missingUse HH, or hh with A [2]
Minutes show the monthMM used where mm was meantUse mm for minutes [2]
Daily run fires at the wrong hourOrganization time zone not set to yoursProfile, Time zone options, Scenarios, My organization [5]

Watch demos / Official walkthroughs

See how the tools work.

Videos load from YouTube only when you press play. These are provider videos, not our own product tests.

Make / Official video

Make—Building Your First Automated Workflow from Scratch

What to look for: Follow how modules connect and how data moves through the first workflow.

Watch on YouTube

Questions before you decide

What time zone does formatDate use in Make if I do not set one?

Your organization's time zone. Make's date function documentation says the optional timezone argument of formatDate and parseDate takes a TZ database name such as Europe/Prague or UTC, and that the organization time zone is used when you omit it.

How do I parse a US date like 03/07/2026 in Make?

Use parseDate with the format MM/DD/YYYY, and pass the time zone the date belongs to, for example parseDate(date; MM/DD/YYYY; America/New_York). Using DD/MM/YYYY by mistake would read the same text as July 3 instead of March 7.

How do I subtract time from a date in Make?

Use the add functions with a negative number. Make documents addDays, addHours, addMinutes, addMonths, addSeconds and addYears, and says to enter a negative number to subtract. A reminder 24 hours before an event is addHours of the start time with -24.

What does setDate do with a day number larger than the month has?

It rolls over. Make documents that setDate accepts 1 to 31 and that values outside that range roll into adjacent months; its example sets day 32 of August 2015 and gets September 1.

Sources & verification

Product details and prices can change. Check the linked provider before buying.

  1. Make Help Center: Date and time functions Accessed 30 Oct 2026
  2. Make Help Center: Tokens for date and time formatting Accessed 30 Oct 2026
  3. Make Academy: Adding a filter Accessed 30 Oct 2026
  4. Make Help Center: Step 10, schedule your scenario Accessed 30 Oct 2026
  5. Make Academy: Scheduling your scenario Accessed 30 Oct 2026
  6. Make Help Center: Tokens for date/time parsing Accessed 30 Oct 2026

Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.

Your decision at a glance

The option in this guide

Full comparison

Documentation-based guidance. No tested ranking or performance score.

Automation

Make

Consider it for
Use Make to prepare weekly reminder drafts for review. Free includes 1,000 credits per month and a minimum scheduled interval of 15 minutes. Email delivery needs a connected service, which may cost extra.
Starting cost
Free plan includes 1,000 credits/month
Before you choose
Connected apps can cost extra. Free scheduled interval is at least 15 minutes; paid billing must be checked at checkout.

Checked 13 Sep 2026 · Pricing source

View Make plans

Affiliate link: we may earn a commission on an eligible purchase. Link disclosure