Your search did not match any results.
Date Box


To change how a DateBox displays dates, use the displayFormat property. This demo illustrates the following examples:

  • Locale-dependent format
    The DateBox formats its value according to the user's locale. This is the default format and you do not need to define the displayFormat property. Refer to the following help topic for more information: Localize Dates, Numbers, and Currencies

  • Built-in predefined formats
    DevExtreme supports various predefined formats. You can use simple strings or shortcuts that define commonly used date formats instead of complex expressions. Review the linked document for a list of values you can assign to displayFormat. This demo uses the "shortdate" format.

  • LDML pattern
    Use an LDML pattern to construct a custom date-time format string. This demo sets displayFormat property to "EEEE, d of MMM, yyyy HH:mm" - a combination of the day of the week, day number, month, year, hour, and minute. The editor displays the formatted value. Refer to the following help topic for information about supported format characters: Custom Format String

  • Format with literal characters
    Specify the displayFormat property as a string that contains literal and LDML characters. Wrap any characters that are not part of the LDML pattern in quotation marks. Otherwise, they can be interpreted as wildcards. In this example, if you remove quotation marks from the word "Year", the letter "a" is interpreted as an "AM/PM" placeholder.

You can also use an input mask in the DateBox. Input masks ensure that the input value matches the displayFormat. To do this, set the useMaskBehavior value to true.

For more information about value formatting, refer to the Value Formatting article.

Backend API
Copy to CodePen
const DemoApp = angular.module('DemoApp', ['dx']); DemoApp.controller('DemoController', ($scope) => { const date = new Date(2018, 9, 16, 15, 8, 12); $scope.dateBox = { default: { type: 'datetime', placeholder: '12/31/2018, 2:52 PM', showClearButton: true, useMaskBehavior: true, }, constant: { placeholder: '10/16/2018', showClearButton: true, useMaskBehavior: true, displayFormat: 'shortdate', type: 'date', value: date, }, pattern: { placeholder: 'Tuesday, 16 of Oct, 2018 14:52', showClearButton: true, useMaskBehavior: true, displayFormat: 'EEEE, d of MMM, yyyy HH:mm', value: date, }, escape: { placeholder: 'Year: 2018', showClearButton: true, useMaskBehavior: true, displayFormat: "'Year': yyyy", type: 'date', value: date, }, }; });
<!DOCTYPE html> <html xmlns=""> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src=""></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src=""></script> <script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C/script%3E'))</script> <script src=""></script> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container" ng-app="DemoApp" ng-controller="DemoController"> <div class="dx-fieldset"> <div class="dx-field"> <div class="dx-field-label">Locale-dependent format</div> <div class="dx-field-value"> <div dx-date-box="dateBox.default"></div> </div> </div> <div class="dx-field"> <div class="dx-field-label">Built-in predefined format</div> <div class="dx-field-value"> <div dx-date-box="dateBox.constant"></div> </div> </div> <div class="dx-field"> <div class="dx-field-label">LDML pattern</div> <div class="dx-field-value"> <div dx-date-box="dateBox.pattern"></div> </div> </div> <div class="dx-field"> <div class="dx-field-label">Format with literal characters</div> <div class="dx-field-value"> <div dx-date-box="dateBox.escape"></div> </div> </div> </div> </div> </body> </html>
.dx-fieldset { min-height: 500px; }