Javascript 当客户端和服务器位于不同时区时,日期值减少1

Javascript 当客户端和服务器位于不同时区时,日期值减少1,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我使用下面的代码从jQuery日期选择器获取日期值 function GetViewModelData() { var actionViewModel = []; var rowCount = $('#myDynamicTable tbody tr').length; var actionDate; for (i = 1; i <= rowCount; i++) { actionDate = document.getElementsByClassName("txt

我使用下面的代码从jQuery日期选择器获取日期值

function GetViewModelData() {
var actionViewModel = [];
var rowCount = $('#myDynamicTable tbody tr').length;
var actionDate;

for (i = 1; i <= rowCount; i++) {
            actionDate = document.getElementsByClassName("txtDateOfAction")[i - 1].value;         
            var parts = actionDate.split("/");
            var dt = new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));

            var rdtViewModel = new DetailsViewModel(0, dt);
            actionViewModel.push(rdtViewModel);
        }

    var obj = new ReportViewModel(0, actionViewModel);
    var viewmodel = JSON.stringify(obj);
    return viewmodel;
}
我面临的问题是,如果客户端和服务器位于不同的时区,则客户端选择的日期值在保存到服务器上时会减少1

例如,如果客户端选择2017年1月19日,则会在服务器(数据库中)上将其保存为2017年1月18日

如果客户端与服务器位于同一时区,则一切正常


如何解决此问题?

使用UTC,而不是本地时间。使用UTC,而不是本地时间。
var SubmitData = function() {
    $(".btnSave").click(function() {
        Loader();
        var viewmodel = GetViewModelData();
        var actionCode = $.trim($("#actionCode").val()).toLowerCase();

        $.ajax({
            async: true,
            cache: false,
            contentType: 'application/json; charset=utf-8',
            data: viewmodel,
            headers: GetRequestVerificationToken(),
            type: 'POST',
            url: '/' + virtualDirectory + '/Submission/Save',
            success: function(data) {
                $("#divMaster").html(data);
                return false;
            },
            error: function(e) {
                alert("An error occured");
                return false;
            }
        });
    });
}