--- title: "Vision - Date Range Scripting Functions" --- # Vision - Date Range Scripting Functions > This page details the various component and extension functions available for [Vision's Date Range component](date-range.md). ## Component Functions ### .setRange(start, end) * Description * Sets the selected range. The outer range will move if needed. Note: the start and end times are determined based on the zoom level and may not move (or may move farther than intended) if the component is zoomed out too far for the amount of change attempted. IE: When days are showing, moving the start time 5 minutes forward will not effect the start, and moving the end time 5 minutes forward will add one day. * Parameters * Date **start** - The starting date for the new selection. * Date **end** - The ending date for the new selection. * Return * Nothing * Scope * Client ```python title="Code Snippet" # This example moves the existing Start Date and End Date # of a Date Range component ahead 8 hours from java.util import Calendar # Get the current start and end dateRangeComponent = event.source.parent.getComponent('Date Range') startDate = dateRangeComponent.startDate endDate = dateRangeComponent.endDate # Calculate the new start and end dates cal = Calendar.getInstance(); cal.setTime(startDate); cal.add(Calendar.HOUR, -8); newStart = cal.getTime(); cal.setTime(endDate); cal.add(Calendar.HOUR, -8); newEnd = cal.getTime(); # Set the new range for the component. The outer range will # automatically expand if needed. dateRangeComponent.setRange(newStart, newEnd) ``` ### .setOuterRange(start, end) * Description * Sets the outer range. The selected range will move if needed. Note: the start and end times are determined based on the zoom level and may not move (or may move farther than intended) if the component is zoomed out too far for the amount of change attempted. IE: When days are showing, moving the start time 5 minutes forward will not effect the start, and moving the end time 5 minutes forward will add one day. * Parameters * Date **start** - The starting date for the new outer range. * Date **end** - The ending date for the new outer range. * Return * Nothing * Scope * Client ```python title="Code Snippet" # This example moves the existing Outer Date Range # of a Date Range component back two days from java.util import Calendar # Get the current start and end of the outer range dateRangeComponent = event.source.parent.getComponent('Date Range') startDate = dateRangeComponent.outerRangeStartDate endDate = dateRangeComponent.outerRangeEndDate # Calculate the new start and end dates for the outer range cal = Calendar.getInstance(); cal.setTime(startDate); cal.add(Calendar.DAY_OF_MONTH, 2); newStart = cal.getTime(); cal.setTime(endDate); cal.add(Calendar.DAY_OF_MONTH, 2); newEnd = cal.getTime(); # Set the new outer range for the component. dateRangeComponent.setOuterRange(newStart, newEnd) ``` ## Extension Functions This component does not have extension functions associated with it.