Calculate Days Between Dates Excluding Fridays and Saturdays in a PDF Form
Question details
The user needs to calculate the number of days between two dates in a PDF form while excluding Fridays and Saturdays, and ensure the result field remains blank if either date field is empty.

- Product
- PDF Form Editor
- Device & OS
- not provided
- Scenario
- Creating or modifying a fillable PDF form that requires specific working-day calculations based on user-entered dates.
- Observed behavior
- The user wants to replace an existing script with one that accurately parses dates, applies the specific weekend exclusion logic, and maintains a blank state for the total days field when input is incomplete.
Check the exact names of your starting and ending date fields in the form. Ensure your PDF editor supports JavaScript form field calculations before modifying the script.
Use Custom JavaScript in the Form Field Properties
Apply a custom calculation script to the result field that checks for empty inputs, parses the dates, and iterates through the date range to skip Fridays and Saturdays.
To achieve this specific calculation, the default PDF calculation tools are insufficient. You must use a custom JavaScript script that reads the date fields and uses the getDay() method to identify and exclude Fridays (day 5) and Saturdays (day 6).
Enter the form editing mode in your PDF editor. Right-click the 'Total Days' field (or the field where you want the result to appear) and select 'Properties'.
In the Properties dialog box, navigate to the 'Calculate' tab to manage how the field generates its value.
Select the 'Custom calculation script' option and click the 'Edit' button to open the JavaScript editor window.
Begin your script by fetching the values of both date fields using this.getField('DateFieldName').value. Add an if-statement to check if either value is empty. If they are, set event.value = ''; and add a return statement so the field remains blank.
Parse the valid date strings into JavaScript Date objects. Create a loop that iterates from the start date to the end date, using the getDay() function. If getDay() does not equal 5 (Friday) and does not equal 6 (Saturday), increment your day counter. Finally, assign the counter value to event.value.
Click 'OK' to save the script, close the Properties window, and exit form editing mode. Enter test dates to verify the days are calculated correctly and the field remains blank when a date is removed.

Create and Calculate Advanced PDF Forms with WPS Office
WPS Office features a robust PDF editor that allows you to easily design fillable forms, insert text fields, and apply custom JavaScript calculations to automate date and number operations.
- 1. Open the PDF: Launch WPS Office and open your PDF document.
- 2. Enter Form Mode: Navigate to the 'Form' tab on the top ribbon to access form editing tools.
- 3. Edit Field Properties: Double-click the calculation text field to open its Properties dialog.
- 4. Apply JavaScript: Go to the Calculate tab, select Custom calculation script, and paste your code.

Frequently Asked Questions
Why does my calculation field display a zero or an error when the date fields are empty?
This happens because the calculation script runs automatically before the user inputs data. To fix this, you must add a condition at the beginning of your JavaScript to check if either date field is empty (e.g., if (date1 == "" || date2 == "")) and set event.value to an empty string.
How do I modify the script to exclude standard weekends (Saturday and Sunday)?
You need to adjust the getDay() logic in your JavaScript loop. JavaScript's getDay() returns 0 for Sunday and 6 for Saturday. Change your exclusion condition to skip days where the value is 0 or 6, instead of 5 (Friday) and 6 (Saturday).
Can I perform date calculations in a PDF form without using JavaScript?
Simple mathematical operations like addition, subtraction, or averaging can be done using the default options in the Calculate tab. However, complex operations involving dates, such as parsing calendars and excluding specific days of the week, require a custom JavaScript script.




