当下拉列表中的某些内容发生变化时,如何将文本框中的日期更改为所需的格式

How to change date in text box to desired format when something changed in a dropdown

我有一个表单,其中有一堆带日期选择器的输入文本框 (datepicker.js)。当用户更改区域设置下拉列表中的值时,我正在更改日期格式并使用该本地特定格式重新初始化日期选择器。如果用户已经在文本框中输入了 entered/selected 日期并更改了语言环境,那么我希望该日期自动转换为所需的格式。

例如,如果用户选择了区域设置下拉列表显示 en_US 的日期,并且日期将为 04/30/2016,如果他将区域设置下拉列表更改为 en_UK,那么我想要日期在文本框中显示为 30/04/2016。我尝试了几个库,但其中 none 个似乎很简单。我们可以在 JQuery 或 UnderscorJS 或简单的 javascript 中完成吗?

dateFormat = (currentLocale == that.defaultLocale) ? 'm/d/Y' : 'd/m/Y';

            var options = {
                lazyInit : false, // Lazy init to prevent a lot of instances right away
                timepicker : false,
                format : dateFormat,
                minDate: 0,
                closeOnDateSelect: true
            };

                $('input.datetime').datetimepicker(options);
                if(currentLocale == that.defaultLocale)
                    $('input.datetime').attr("placeholder", "mm/dd/yyyy");
                else
                    $('input.datetime').attr("placeholder", "dd/mm/yyyy");

您正在寻找这样的东西吗? :

    function getFormattedDate(date) {
        var year = date.getFullYear();
        var month = (1 + date.getMonth()).toString();
        month = month.length > 1 ? month : '0' + month;
        var day = date.getDate().toString();
        day = day.length > 1 ? day : '0' + day;
        return month + '/' + day + '/' + year;
     }