It does not matter as the absence duration formula is invoked from PUI when you tab out of the 'End Time' field in Absences form. If you have not entered the start and stop times,the formula is invoked when you save the record.
In self service, the formula is invoked when you press 'Next' button regardless of whether you have clicked 'Calculate Duration'.
Also to add to Satheesh, there is a profile option "HR: Absence Duration Auto Overwrite" which determines whether you want the system to get the duration value be overwritten by users. If you set this value to Yes, then irrespective of what user enters in duration field when you click on next button the formula will run and override the value entered by the user.
It is always recommended to set this vale to Yes for all your absence implementation to avoid misuse by users.