This question has popped up in the forums now and again so I thought I would write a blog post on it.
The solution on how to do this is simple, once you know where to look and how it works. I can understand why some people struggle to find the answer to the question of setting a date field to the current date and time because you don’t see it mentioned very often and it isn’t obvious.
To set the a Date Time value in CRM to a when the workflow was run you can use the dynamic value
Process
Execution Time
This basically does what is says on the tin and sets a Date time value to Execution time of the workflow.
Open up your workflow and choose the Update, select Account entity
To set a field
Select the field and in the example above, I clicked into the Account Date Field
In the look for I scrolled down to Process (it’s right at the bottom)
in the next field select Execution Time
Press OK
You will see the Account Date Field will now have a highlighted value.
Save and Close
Activate the workflow
CRM 2013 Video Workflow to set date and time field and user when the primary contact on an account is changed
Awesome picture from here