After having testet it I would recommend:
1. Create a new field as your checkbox: Two Option Set i.e. "Set Current Time". Put it on the form.
and then either with Business Rule:
2a. Create a Business Rule with Scope "Entity". Condition: if "Set Current Time" equals "Yes" AND "Time From Promised" (and/or other fields) does not contain data THEN Set "Time From Promised" to "Modified On".
If you want, ad Action(s) for other fields as well . Works also with "Date Window Start" and "Time Window Start".
or 2b) with Java Script: please search this forum for code examples on how to set now() via JS.
The difference is: with a) you're able to see the filled in timestamps on the form only after the record was saved the first time whereas with b) you would be able to immediately see the filled in timestamps.
A calculated field is uncomfortable because it gets calculated only when saving the record a first time. So you would need to savo your record even a second time then to copy its value into other fields.