如果在下拉列表中更改了某些内容,如何将文本框中的日期更改为所需的格式

时间:2016-04-28 18:58:58

标签: javascript jquery datetime underscore.js datetimepicker

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

例如,如果用户选择了语言环境下拉列表显示en_US并且日期将是2016年4月30日的日期,如果他将语言环境下拉列表更改为en_UK,那么我希望日期显示为30/04/2016在文本框中。我尝试了很少的库,但它们似乎都不简单。我们可以在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");

enter image description here

1 个答案:

答案 0 :(得分:0)

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

    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;
     }