Hello,
My company is using Confluence Cloud. I created a form using Confiforms with a field named status and another field named completionDate. Using Confiforms Rules for Definition macro, I created a rule such that when the status is changed to "Completed" -- whose key is 4 in the status dropdown-- the completionDate field is automatically set to today's date in the US/Pacific time zone, which is where I am located. I used the convertDate function to force the time zone to Pacific since I will have users whose time zone may be different than mine.
Here's the macro definition:

When I ran it and changed the status to Completed, the completionDate shows with yesterday's date.
Incidentally, I tried using the formatDate function first which gave me another problem in that if I did this late in my day, the date returned is tomorrow's date.