【问题标题】:jQuery datepicker value always US locale?jQuery datepicker 值总是美国语言环境?
【发布时间】:2016-06-03 10:22:05
【问题描述】:

我有一个自定义 SharePoint 表单,在表单中我有两个日期选择器

Start DateEnd Date

我还有一个 span 来显示日期选择器更改的天数差异

function DatePickerChanged() {
        var startDate = new Date($('input[title="Start Date Required Field"]').val());
        var endDate = new Date($('input[title="End Date Required Field"]').val());  
        if (endDate >= startDate) { 
            var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
            var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)) + 1;    
            $("#totalDays").text(diffDays);
        }
        else {
            $("#totalDays").text('-');
        }       
    }

我将 SharePoint 区域设置设置为美国,因此这段代码运行良好。 (日期格式为 MM/dd/yyyy)

现在我将区域设置更改为英国(日期格式现在为 dd/MM/yyy)。

所以当我的代码现在运行时,$('input[title="Start Date Required Field"]').val()$('input[title="End Date Required Field"]').val() 返回错误值。

例如,如果我选择 10/06/2016(即 6 月 10 日),我的 jQuery 会将其读取为 10 月 6 日???如何正确读取这些值?

【问题讨论】:

    标签: javascript jquery date sharepoint datepicker


    【解决方案1】:

    在初始化日期选择器时提及您所需的格式。 $('#datepickerID').datepicker({dateFormat: 'mm-dd-yy'})

    【讨论】:

    • 这是一个 SharePoint 表单,所以它是一个 <SharePoint:FormField> 控件,它在加载时呈现为 <input type="date">
    猜你喜欢
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多