Date time range in EJ2 TypeScript Datetimepicker control
16 Jun 20233 minutes to read
DateTimePicker provides an option to select a date and time value within a specified range by using the min
and max
properties. Always the min value has to be lesser than the max value.
When the min and max properties are configured and the selected datetime value is out-of-range or invalid, then the model value will be set to out of range
datetime value or null
respectively with highlighted error
class to indicates the datetime is out of range or invalid.
The value property depends on the min/max with respect to strictMode
property.
The below example allows selecting a date within the range from 7th to 27th day in a month.
import { DateTimePicker } from '@syncfusion/ej2-calendars';
let today: Date = new Date();
let currentYear: number = today.getFullYear();
let currentMonth: number = today.getMonth();
let currentDay: number = today.getDate();
let currentHour: number = today.getHours();
let currentMinute: number = today.getMinutes();
let currentSecond: number = today.getSeconds();
// creates a datetimepicker with min max property
let datetimepickerObject: DateTimePicker = new DateTimePicker({
//sets the min.
min: new Date(currentYear, currentMonth, 7, 0, 0, 0),
//sets the max.
max: new Date(currentYear, currentMonth, 27,currentHour,currentMinute,currentSecond),
//sets the value.
value: new Date(new Date().setDate(14))
});
datetimepickerObject.appendTo('#element');
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 DateTimePicker control</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Typescript UI Controls" />
<meta name="author" content="Syncfusion" />
<link href="styles.css" rel="stylesheet" />
<!--style reference from the DateTimePicker component-->
<link href="https://cdn.syncfusion.com/ej2/23.2.4/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/23.2.4/ej2-buttons/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/23.2.4/ej2-inputs/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/23.2.4/ej2-popups/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/23.2.4/ej2-lists/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/23.2.4/ej2-calendars/styles/material.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>
<body>
<div id='loader'>LOADING....</div>
<div id='container'>
<input id='element' type="text" />
</div>
</body>
</html>
If the value of
min
ormax
properties changed through code behind, then you have to update thevalue
property to set within the range.