Date Box ▸ Formatting

Use the displayFormat property to change how DateBox displays date values.

This demo illustrates the following:

  • Locale-dependent format The DateBox formats values based upon a user's locale. This is the default format. As such, 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". This expression displays week day, 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 may 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 input values match the displayFormat (set the useMaskBehavior value to true).

For additional formatting-related information, please refer to the following help topic: Value Formatting.

Locale-dependent format
Built-in predefined format
Locale Data Markup Language (LDML) pattern
Format with literal characters
<div class="dx-fieldset">
    <div class="dx-field">
        <div class="dx-field-label">Locale-dependent format</div>
        <div class="dx-field-value">
            @(Html.DevExtreme().DateBox()
                .InputAttr("aria-label", "Date Time")
                .Placeholder("12/31/2018, 2:52 PM")
                .Type(DateBoxType.DateTime)
                .ShowClearButton(true)
                .UseMaskBehavior(true)
            )
        </div>
    </div>
    <div class="dx-field">
        <div class="dx-field-label">Built-in predefined format</div>
        <div class="dx-field-value">
            @(Html.DevExtreme().DateBox()
                .InputAttr("aria-label", "Date")
                .Placeholder("10/16/2018")
                .ShowClearButton(true)
                .UseMaskBehavior(true)
                .DisplayFormat("shortdate")
                .Type(DateBoxType.Date)
                .Value(new DateTime(2018, 10, 16, 15, 8, 12))
            )
        </div>
    </div>
    <div class="dx-field">
        <div class="dx-field-label">Locale Data Markup Language (LDML) pattern</div>
        <div class="dx-field-value">
            @(Html.DevExtreme().DateBox()
                .InputAttr("aria-label", "Date")
                .Placeholder("Tuesday, 16 of Oct, 2018 14:52")
                .ShowClearButton(true)
                .UseMaskBehavior(true)
                .DisplayFormat("EEEE, d of MMM, yyyy HH:mm")
                .Value(new DateTime(2018, 10, 16, 15, 8, 12))
                .Type(DateBoxType.DateTime)
            )
        </div>
    </div>
    <div class="dx-field">
        <div class="dx-field-label">Format with literal characters</div>
        <div class="dx-field-value">
            @(Html.DevExtreme().DateBox()
                .InputAttr("aria-label", "Date")
                .Placeholder("Year: 2018")
                .ShowClearButton(true)
                .UseMaskBehavior(true)
                .DisplayFormat("'Year': yyyy")
                .Type(DateBoxType.Date)
                .Value(new DateTime(2018, 10, 16, 15, 8, 12))
            )
        </div>
    </div>
</div>
using System.Web.Mvc;

namespace DevExtreme.MVC.Demos.Controllers {
    public class DateBoxController : Controller {

        public ActionResult Formatting() {
            return View();
        }

    }
}
.dx-fieldset {
    min-height: 500px;
}