Mastering Dates and Time in Make.com: A Practical Guide for Automation Builders

When I first started building automations in Make.com, I thought handling dates and times would be simple — until I discovered how quickly things get confusing with time zones, formats, and date functions like parseDate() and formatDate().
If you’ve ever seen a timestamp in your scenario output that looked hours off or didn’t match your local time, you’re definitely not alone. In this post, I’ll walk you through how Make.com really handles dates and times, the difference between web and system time zones, and how to use Make’s date functions properly to avoid messy output or unexpected scheduling issues.
Let’s dive in.
1. Understanding Time Zones in Make.com
The first thing I learned (sometimes the hard way) is that Make.com actually deals with two distinct time zones — one you see in the dashboard and one used behind the scenes during execution.
| Type | Purpose | Description |
|---|---|---|
| Web (User Interface) Time Zone | Display Layer | The human-friendly time shown in your Make.com dashboard — converted based on your profile settings. |
| System (Raw Data) Time Zone | Processing Layer | The technical layer where Make executes everything in UTC (Coordinated Universal Time) for global consistency. |
In other words:
What you see on your screen (the web layer) depends on your account settings.
What Make executes internally (the system layer) always happens in UTC.
Setting Your Time Zone
Here’s how I set my account’s time zone correctly:
Go to your Make.com profile.
Under your name, open Profile Settings.
Locate Time Zone and select your region.
Pro tip: There are two places where time zones matter:
Your account time zone – affects how data appears in your dashboard.
Your scenario time zone – affects how Make parses and calculates dates during execution.
Keeping both aligned can prevent headaches later.
2. How Make Displays and Stores Dates
When you look at a date in Make.com, it might appear as:
Apr 28, 2025, 11:39 AM
That looks nice and readable, right? But under the hood, Make stores it in ISO 8601 format, which is a global standard:
YYYY-MM-DDTHH:mm:ss.SSSZ
2025-04-28T03:39:00.000Z
Here’s what each part means:
Tseparates the date and time.Zstands for UTC..SSSindicates milliseconds.
You might also encounter Unix Timestamps, which represent time in seconds or milliseconds since January 1, 1970 (UTC) — known as the Unix epoch.
| Type | Digits | Example |
|---|---|---|
| Seconds | 10 digits | 1728201600 |
| Milliseconds | 13 digits | 1728201600000 |
Unix timestamps are especially useful when integrating with APIs or databases that expect numeric time values instead of strings.
3. The Relationship Between Web and Scenario Time Zones
Here’s where things get tricky — the difference between the web and scenario layers.
Let’s visualize it with an example:
| Layer | Example | Description |
|---|---|---|
| System (UTC) | 2025-04-28T03:00:00Z | The raw time Make stores and executes with. |
| Scenario Setting | America/Los_Angeles (PST) | Determines how parsing and formatting interpret time. |
| Web Output | April 27, 2025, 8:00 PM | The time displayed to you, adjusted based on your profile. |
So, if your web time zone and scenario time zone are different, you might see a mismatch — a common cause of “off-by-5-hours” errors.
To fix this:
Align your Account and Scenario time zones.
Or, explicitly specify a time zone in your
parseDate()andformatDate()functions.
That way, Make won’t make assumptions about what you meant — you’ll be in control.
4. The parseDate() Function
Let’s talk about the hero of the story: parseDate().
Definition
parseDate() converts a piece of text into a Make-compatible date object, following the ISO 8601 standard. It’s like telling Make, “Hey, this text here is actually a date — please treat it as one.”
parseDate(text; format; [timezone])
2025-02-02T12:01:00.000Z
Make interprets this date using your scenario’s default time zone.
Example 2: Parsing with Time Zone
parseDate("02/02/2025 12:01"; "MM/DD/YYYY HH:mm"; "America/New_York")
This version explicitly tells Make the source is from New York time.
Make then converts it into UTC internally — so when you use or display it later, everything stays consistent across different users and regions.
5. Daylight Saving and Consistency Tips
Daylight Saving Time (DST) is one of the biggest culprits behind time errors in automations.
For example, Los Angeles alternates between UTC−7 and UTC−8 throughout the year. That shift can cause your automations to trigger an hour early or late if not handled carefully.
To avoid these headaches, I often use non-DST time zones like:
| Region | Stable Time Zone | Note |
|---|---|---|
| Pacific | Pacific/Fiji | No DST |
| Eastern | America/Panama | No DST |
| Central Europe | Africa/Tripoli | No DST |
| Asia | Asia/Kolkata | No DST |
My recommendation: Pick a stable time zone such as Asia/Kolkata or Africa/Tripoli in both your account and scenario settings. This keeps all timestamps consistent year-round — no surprises in March or October.
6. The formatDate() Function
Once you’ve parsed a date, the next step is usually to display it — and that’s where formatDate() comes in.
Definition
formatDate() takes a Make-compatible date object and converts it into readable text — formatted your way.
formatDate(date; format; [timezone])
Parameters
| Parameter | Description | Example |
|---|---|---|
date | The date object | 2025-04-28T03:39:00.000Z |
format | The desired output format | MM/DD/YYYY hh:mm A |
timezone (optional) | Target display zone | America/New_York |
Example
formatDate(parseDate("April 28, 2025 12:01 PM"; "MMMM DD, YYYY hh:mm A"); "MM/DD/YYYY hh:mm A"; "America/New_York")
Output:
04/28/2025 12:01 PM
This gives you a clean, human-readable timestamp you can send to a CRM, Google Sheet, or Slack message.
7. Common Date Tokens in Make
Make.com uses tokens to define how dates are parsed or displayed.
Here’s a quick cheat sheet:
| Token | Meaning | Example |
|---|---|---|
| YYYY | Year (4 digits) | 2025 |
| MM | Month (2 digits) | 04 |
| DD | Day of month | 28 |
| HH | Hour (24-hour) | 17 |
| hh | Hour (12-hour) | 05 |
| mm | Minutes | 09 |
| ss | Seconds | 45 |
| A | AM / PM | PM |
| Z | Time zone offset | +05:30 |
If you ever get stuck, Make’s built-in reference is your friend:
Help → Functions → Date & Time → Tokens for Parsing/Formatting
8. Working with Epoch / Unix Timestamps
Some systems — especially APIs and databases — use Epoch (Unix) time to store dates.
These timestamps measure the number of seconds or milliseconds since January 1, 1970 UTC.
| Type | Digits | Example | Parse Token |
|---|---|---|---|
| Seconds | 10 | 1728201600 | X |
| Milliseconds | 13 | 1728201600000 | x |
Example
parseDate("1728201600"; "X")
formatDate(parseDate("1728201600"; "X"); "YYYY-MM-DD HH:mm:ss")
Output:
2025-10-06 00:00:00
That’s how I usually normalize timestamps from APIs like Shopify, HubSpot, or Stripe before sending them into a readable format inside Make.com.
9. Best Practices for Working with Dates in Make
Over the years, I’ve collected a few best practices that save time and debugging effort:
- Always confirm your source time zone.
Before parsing, know where your data is coming from — CRM, form tool, or API. - Use
parseDate()before formatting.
Never format raw text; it must be parsed into a date object first. - Align your account and scenario time zones.
Keep both the same to prevent mismatched output. - Prefer non-DST zones for consistency.
Choose stable zones likeAsia/Kolkatato avoid seasonal shifts. - Double-check your tokens.
UsingDinstead ofMcan break parsing completely.
Following these steps has helped me eliminate 90% of date-related issues in Make scenarios.
10. Quick Reference Workflow
Let’s tie everything together with a simple workflow example.
Input
April 28, 2025 2:00 PM
Step 1: Parse
parseDate("April 28, 2025 2:00 PM"; "MMMM DD, YYYY hh:mm A"; "America/New_York")
Step 2: Convert / Adjust (Internal)
Make automatically converts this to UTC.
Step 3: Format
formatDate(<parsed_date>; "YYYY-MM-DD HH:mm:ss"; "UTC")</parsed_date>
Output
2025-04-28 18:00:00
Everything stays accurate, clear, and timezone-safe — ready for export, logging, or triggering other automations.
Final Thoughts: Simplifying Time in Make.com
Working with dates and times in Make.com can feel overwhelming at first, but once you understand how parseDate() and formatDate() interact with time zones, it becomes second nature.
Remember, time data flows through two layers (web and system), and your goal is simply to keep them in sync. From there, you can build scenarios that run smoothly across time zones — whether you’re automating reminders for global teams or syncing transactions between systems.
If you’d like to explore more about custom Make.com automations or learn how to integrate AI-powered workflows, check out our other guides like AI Automation for Small Businesses or Custom AI Automation Agency.
And if you ever get stuck, feel free to contact us for a quick automation consultation — we’ve helped dozens of teams make sense of time (literally).
Check out other helpful Make.com Workflow Automate Blogs
- Understanding Execution and Cycles in Make.com: A Hands-On Guide
- Connections, Webhooks, and Filters in Make.com: A Practical Guide
- Transforming Data in Make.com: A Professional Guide to Using Functions for Business Automation
- An Introduction to Aggregators in Make: How I Learned to Group, Combine, and Simplify Data
- AI Agents in Make.com: The Future of Business Automation
- How to Use HTTP Module in Make.com: My Complete Guide to Custom API Magic
This usually happens because your Make scenario time zone and your account profile time zone don’t match. Make always processes dates in UTC behind the scenes, so if your local and scenario settings differ, the displayed time can appear shifted. Aligning both fixes most issues instantly.
parseDate() converts text (like "04/28/2025 2:00 PM") into a Make-compatible date object, while formatDate() does the opposite — it turns a date object into formatted text (like "2025-04-28 14:00:00"). You’ll almost always parse first, then format afterward.
Choose non-DST time zones such as Asia/Kolkata or America/Panama for both your account and scenario settings. This ensures your automations run at the same hour year-round, without jumping forward or backward during DST changes.
If your app sends timestamps like 1728201600, use parseDate("1728201600"; "X") to convert seconds-based timestamps into readable dates. Then, apply formatDate() to display it in your preferred format, such as "YYYY-MM-DD HH:mm:ss".
That usually means your format pattern doesn’t match the actual input text. Double-check your tokens — for example, MM/DD/YYYY (month/day/year) is not the same as DD/MM/YYYY. Even a small mismatch can cause parsing to fail.
Yes! Adding a time zone as the third parameter tells Make exactly how to display the date. For example, formatDate(<date>; "MM/DD/YYYY hh:mm A"; "America/New_York") ensures the output matches New York local time, no matter where the scenario runs.
I always create a simple test scenario that logs date values in both UTC and my target time zone. Using parseDate() and formatDate() in tandem with a few sample timestamps helps confirm your setup before you plug it into larger workflows.
If you are looking forward to getting your data pipeline built and setting up the dashboard for business intelligence, book a call now from here.
#analytics #data #business #artificialintelligence #machinelearning #startup #deeplearning #deeplearning #datascience #ai #growth #dataanalytics #india #datascientist #powerbi #dataanalysis #businessanalytics #businessanalyst #businessandmanagement #dataanalyst #businessanalysis #analyst #analysis #powerbideveloper #powerbidesktop #letsviz


