将 HTML5 输入类型日期格式转换为“01-Jan-2024”?

问题描述 投票:0回答:3

我正在尝试将 HTML5 输入日期类型日期格式格式化为“01-Jan-2024”。我已经尝试过

 placeholder="dd-mm-yyyy" value=""
required pattern="[0-9]{2}-[0-9]{3}-[0-9]{4}"
。没有任何作用。你能帮我如何将日期格式设置为
"d-MM-yyyy" (like '01-Jan-2024')

<div class="form-group col-md-4">
 <label asp-for="OrderDate"></label>
     <div class="input-group">
     <input type="date" asp-for="OrderDate" class="form-control">
     </div>
     <span asp-validation-for="OrderDate" class="text-danger"></span>
 </div>
javascript html angular asp.net-mvc-4
3个回答
0
投票
   <div class="form-group col-md-4">
    <label asp-for="OrderDate"></label>
    <div class="input-group">
        <input type="date" asp-for="OrderDate" class="form-control" id="orderDateInput">
    </div>
    <span asp-validation-for="OrderDate" class="text-danger"></span>
</div>

<script>
    document.getElementById('orderDateInput').addEventListener('change', function () {
        const selectedDate = new Date(this.value);
        const monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
        this.value = ('0' + selectedDate.getDate()).slice(-2) + '-' + monthNames[selectedDate.getMonth()] + '-' + selectedDate.getFullYear();
    });
</script>

使用此脚本,每当选择日期时,它都会在显示在输入字段中之前重新格式化为所需的格式。


0
投票

你可以这样实现:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Date Format</title>
</head>
<body>

<div class="form-group col-md-4">
    <label for="orderDateInput">Order Date:</label>
    <div class="input-group">
        <input type="date" id="orderDateInput" class="form-control">
    </div>
    <span id="selectedDateOutput"></span>
</div>

<script>
    // Get the input element
    var input = document.getElementById("orderDateInput");
    var output = document.getElementById("selectedDateOutput");

    // Function to format the date
    function formatDate(date) {
        var options = { year: 'numeric', month: 'short', day: '2-digit' };
        return new Date(date).toLocaleDateString('en-GB', options);
    }

    // Event listener for input change
    input.addEventListener('change', function () {
        // Get the value of the input
        var dateValue = this.value;
        
        // Format the date
        var formattedDate = formatDate(dateValue);

        // Display the selected date
        output.textContent = formattedDate;
    });
</script>

</body>
</html>


-1
投票

HTML5输入日期类型仅支持格式(yyyy-MM-dd),不支持你想要的格式(d-MM-yyyy)。 您仍然可以使用 JavaScript 实现所需的格式。

© www.soinside.com 2019 - 2024. All rights reserved.