Set Input Type Date in DD-MM-YYYY Format Using HTML



To set the input type date in dd-mm-yyyy format using HTML. Discover simple techniques to customize date formats for better user experience and data consistency.

Creating intuitive web forms is crucial for enhancing user experience, particularly with date inputs. Although HTML5 introduced the <input type="date"> feature for easy date selection, it generally formats dates as YYYY-MM-DD. This can be inconvenient for users in regions that prefer the DD-MM-YYYY format. This article will guide you on various methods to implement date input in the DD-MM-YYYY format utilizing HTML, JavaScript, and external libraries.

Approaches for Implementing DD-MM-YYYY Format

To achieve a date input that conforms to the DD-MM-YYYY standard, consider these methods:

Let's explore each method with practical examples.

Individual Input Fields for Day, Month, and Year

A simple method is to create three distinct input fields?one each for the day, month, and year. This allows for better accuracy and flexibility in date entry.

Example

This example includes three input fields for the user to enter the day, month, and year separately. Upon submission, an alert showcases the date in the DD-MM-YYYY format. This method permits individual validation, crucial for ensuring the accuracy of the entered dates.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Date Input Example</title>
</head>
<body>
    <form id="dateForm">
        <label for="day">Day:</label>
        <input type="number" id="day" name="day" min="1" max="31" required>

        <label for="month">Month:</label>
        <input type="number" id="month" name="month" min="1" max="12" required>

        <label for="year">Year:</label>
        <input type="number" id="year" name="year" min="1900" max="2100" required>

        <button type="submit">Submit</button>
    </form>

    <script>
        document.getElementById("dateForm").addEventListener("submit", function(event) {
            event.preventDefault();
            const day = document.getElementById("day").value;
            const month = document.getElementById("month").value;
            const year = document.getElementById("year").value;
            alert(`Date entered: ${day}-${month}-${year}`);
        });
    </script>
</body>
</html>

Output

Date Fromat DD-MM-YYYY

JavaScript-Based Input Formatting

Another strategy is to use a single text input and JavaScript to format the date. This can also include validation checks to ensure the entered date is valid.

Example

In this scenario, users input the date in one text field. The JavaScript then separates the day, month, and year, checking that each part meets the expected format. This method enhances user interaction while ensuring accuracy in data entry.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Date Input with JavaScript</title>
</head>
<body>
    <form id="dateForm">
        <label for="date">Enter Date (DD-MM-YYYY):</label>
        <input type="text" id="date" name="date" placeholder="DD-MM-YYYY" required>
        <button type="submit">Submit</button>
    </form>

    <script>
        document.getElementById("dateForm").addEventListener("submit", function(event) {
            event.preventDefault();
            const dateInput = document.getElementById("date").value;
            const [day, month, year] = dateInput.split('-');

            // Basic validation
            if(day.length === 2 && month.length === 2 && year.length === 4) {
                alert(`Date entered: ${day}-${month}-${year}`);
            } else {
                alert('Please enter a valid date in DD-MM-YYYY format.');
            }
        });
    </script>
</body>
</html>

Output

Date Fromat DD-MM-YYYY

Using Third-Party Date Picker Libraries

Integrating a third-party library can significantly improve the user interface for date selection. Libraries like jQuery UI or Flatpickr enable easy format customization.

Example

This example uses the Flatpickr library to create a date picker that allows for DD-MM-YYYY input. By setting the dateFormat, developers ensure that users engage with an interface that aligns with their preferences. The allowInput feature provides the option for manual date entry as well.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
    <title>Date Picker Example</title>
</head>
<body>
    <label for="datePicker">Select Date (DD-MM-YYYY):</label>
    <input type="text" id="datePicker" placeholder="DD-MM-YYYY" required>

    <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
    <script>
        flatpickr("#datePicker", {
            dateFormat: "d-m-Y",
            allowInput: true
        });
    </script>
</body>
</html>

Output

Date Fromat DD-MM-YYYY

Conclusion

While the HTML <input type="date"> offers an easy way to enter dates, it often falls short in catering to diverse formatting needs. By adopting separate input fields, using JavaScript for validation, or leveraging external libraries, developers can craft user-friendly forms that accept dates in the DD-MM-YYYY format.

Arunachalam K
Arunachalam K

Software Engineer

Updated on: 2024-09-26T10:46:49+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements