There you go:
$w.onReady(() => {
const datePickerStart = $w("#datePicker1") //Change this to your Date Picker ID with start date
const datePickerEnd = $w("#datePicker2")//Change this to your Date Picker ID with end date
const textDateDifference = $w("#textDateDifference")//Change this to your text element
let dateDifference = getDateDifference(datePickerStart.value, datePickerEnd.value)
updateDateElement(dateDifference, textDateDifference.text) //Updates text element at start
datePickerStart.onChange(() => {
let newDateDifference = getDateDifference(datePickerStart.value, datePickerEnd.value)
updateDateElement(newDateDifference, textDateDifference.text) //Updates text element at Date Picker Start Date change
})
datePickerEnd.onChange(() => {
let newDateDifference = getDateDifference(datePickerStart.value, datePickerEnd.value)
updateDateElement(newDateDifference, textDateDifference.text) //Updates text element at Date Picker End Date change
})
})
//Function that gets the difference between a Start Date and an End Date and returns it in days
function getDateDifference(dateStart, dateEnd) {
let dateDiff = dateEnd - dateStart
const daysDiff = Math.floor(dateDiff/86400000)
return daysDiff
}
//Function to update an text element with the value you want, if you want to update an input box, you just change the element you want
function updateDateElement(value, element) {
element = value.toString()
}