javascript - 如何将 datepicker 日期转换为 JSON 对象以在 AJAX 请求中使用

标签 javascript jquery json jquery-ui-datepicker

我正在使用 jquery datepicked,并且我有以下代码来从中获取日期:

var d = new Date(1980, 2, 2);
$('#datepicker').datepicker({
        changeMonth: true,
        changeYear: true,
        defaultDate: d,
        yearRange: '1970:2020',
        dateFormat: 'yy-mm-dd',
        monthNamesShort:    ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
        dayNamesMin: ['Ned', 'Pon', 'Vto', 'Sri', 'Chet', 'Pet', 'Sub']
    });

从那里我得到这样的日期

var date = $("#datepicker").datepicker('getDate').getDate();                 
var dateToJson = date.ToJson();

我想在ajax函数中使用这个fullDate,但是每次我发帖时它都会传递带有UTC时区日期/时间的参数。我只需要传递当前日期以及我选择日期的时区偏移量(我距离 UTC 为 -7 小时,所以对于我遇到问题的一天的 1/3 来说这是一个大问题)。我如何获取在 ajax 请求中使用的确切日期?

最佳答案

执行 Date.ToJson() 函数时,时区偏移存在错误。无论哪种方式,您都可以创建自己的 ToJsonLocal 函数,以便在需要时仅获取本地日期。它看起来像这样:

Date.prototype.toJSONLocal = (function() {
function addZ(n) {
    return (n<10? '0' : '') + n;
}
return function() {
  return this.getFullYear() + '-' +
         addZ(this.getMonth() + 1) + '-' +
         addZ(this.getDate());
};
}())

当您从日期选择器中选择日期时,将其转换为变量

var dateToLocalJson = date.ToJSONLocal();

并将 json 传递给 ajax。这样应该就可以了。 希望这有帮助;]

关于javascript - 如何将 datepicker 日期转换为 JSON 对象以在 AJAX 请求中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20363046/

相关文章:

javascript - jQueryrotate if else 循环问题

json - 如何在Spark SQL中查询StringType的1个字段具有json值的数据框

javascript - 寻找随机选择、连接存储在变量中的文本字符串

javascript - 如何将新数组添加到我的 jsonArray 中

javascript - 使用 JNA、Rhino、JavaScript 分配字符缓冲区

javascript - 通过搜索查找文本并突出显示出现错误

php - Qtip2,在工具提示模态上隐藏小提示?

javascript - 处理两个单独的 JQuery Api 调用

Ios如何使用Alamofire发布多个自定义对象

javascript - 如何识别用户在未选择文件的情况下关闭的 html 文件上传向导