Skip to main content

I want to set a Date field to the current date time in an automation. I tried using a formula field (with NOW()) from a previous step in the automation to set this Date field but the automation fails with the error;
Field "Date" cannot accept the provided value: Could not convert string to date.

No amount of formatting of the formula field is helping. 

Hmm, weird.  Could you provide screenshots of your table and automation setup, or access to an example base where you're encountering this issue?

I was able to use an automation to paste the value from a formula field with "NOW()" into a Date field without that error and so I think my setup's different from yours:


Link to base


Hi,
Using NOW() to set current time, you should be aware that it updates every 5-10 minutes. So, the minute value won't be precise to a single minute. Also, it can cause delay of triggering automation.
I would set one-liner script step and use output for field value in next Update step. Precision+No delay+No extra column.
 

output.set('now',new Date().toISOString())

 here, 'now' is just a variable name, you can change it


Hi,
Using NOW() to set current time, you should be aware that it updates every 5-10 minutes. So, the minute value won't be precise to a single minute. Also, it can cause delay of triggering automation.
I would set one-liner script step and use output for field value in next Update step. Precision+No delay+No extra column.
 

output.set('now',new Date().toISOString())

 here, 'now' is just a variable name, you can change it


This worked, thanks!


Thanks for the solution


Hi,
Using NOW() to set current time, you should be aware that it updates every 5-10 minutes. So, the minute value won't be precise to a single minute. Also, it can cause delay of triggering automation.
I would set one-liner script step and use output for field value in next Update step. Precision+No delay+No extra column.
 

output.set('now',new Date().toISOString())

 here, 'now' is just a variable name, you can change it


Thanks for this solution - simple, efficient and genuis! 🙂


Hi,
Using NOW() to set current time, you should be aware that it updates every 5-10 minutes. So, the minute value won't be precise to a single minute. Also, it can cause delay of triggering automation.
I would set one-liner script step and use output for field value in next Update step. Precision+No delay+No extra column.
 

output.set('now',new Date().toISOString())

 here, 'now' is just a variable name, you can change it


This script is great, very helpful for some of my automated emails! But can you help me refine the formatting a bit for my use?

Here's my current code:

 

 

output.set('now',new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles"}))

 

 

This outputs: 6/25/2024, 5:15:25 PM

I wanted the date/time to be formatted differently, so I'm using toLocaleString instead of toISOString. And I was able to properly set the timezone as I desire... however I can't figure out how to remove the seconds. Everything I've tried so far generates an error.

I'm a bit of a Java newbie, so any help is appreciated!

EDIT: I figured it out, here's my current code which has a nice clean output.

output.set('now', new Date().toLocaleString("en-US", {
timeZone: "America/Los_Angeles",
month: 'numeric',
day: 'numeric',
year: 'numeric',
hour: 'numeric',
minute: 'numeric',
hour12: true
}).replace(',', '').replace(' AM', 'AM').replace(' PM', 'PM'));

 


Reply