【问题标题】:jQuery DateTimePicker Convert datejQuery DateTimePicker 转换日期
【发布时间】:2015-07-02 12:37:48
【问题描述】:

目前我正在玩一些 jQuery,但它看起来不像我想要的那样工作。

我得到了以下代码,我希望它能够将 from 转换为新的日期格式。它目前在 dd/mm/yyyy 并希望它是 yyyy-mm-dd,所以我可以在我的 mysql 数据库中使用它

$("#calendarAddEvent").on("click", function() {
    var name = $("#name").val();
    var from = $("#date").val(); 
    var f = $.datepicker.parseDate("d/m/Y", from);
    var start = $("#time_start").val();
    var end = $("#time_end").val();
    var className = $("#color .selected").attr("data-tag");
    $.post("api/calendar_add.php", {
        title: title, 
        start: f + start,
        end: f + end,
        className: className
    }).done(function() {
        $("#close").click();
    });
});

【问题讨论】:

  • 你试过moment.js库吗?每当您想要进行一些日期操作时,它都非常有效。
  • javascript 新手,所以不知道如何使用 moment.js

标签: javascript jquery jquery-ui-datepicker datetimepicker


【解决方案1】:

试试这个:

    $("#calendarAddEvent").on("click", function() {
    var name = $("#name").val();

    var from = $("#date").val(); 
    var datestr=(from.split(" ")[0]).split("/");
    f =  new Date(datestr[2],datestr[0]-1,datestr[1]);
    var start = $("#time_start").val();
    var end = $("#time_end").val();
    var className = $("#color .selected").attr("data-tag");
    $.post("api/calendar_add.php", {
        title: title, 
        start: f + start,
        end: f + end,
        className: className
    }).done(function() {
        $("#close").click();
    });
});

【讨论】:

  • 未捕获的类型错误:无法读取未定义的属性“parseDate”
  • 未捕获的类型错误:非法调用
【解决方案2】:

这个怎么样:

var f = $.datepicker.formatDate("yy-mm-dd", from);

这里有更多关于 datepicker 的文档:http://api.jqueryui.com/datepicker/#utility-formatDate

【讨论】:

  • 未捕获的类型错误:t.getFullYear 不是函数
【解决方案3】:

试试这个..

http://jsfiddle.net/cLLk3a07/1/

 $( "#datepicker" ).datepicker();
$(".calendarAddEvent").click(function(){
var from= $( "#datepicker" ).val();
  console.log(from)
    var date =  $.datepicker.parseDate("mm/dd/yy", from);
    var month = date.getMonth().toString().length == 1 ? "0"+date.getMonth() : date.getMonth();
    var day = date.getDate().toString().length == 1 ? "0"+date.getDate() : date.getDate();
    console.log(date.getFullYear()+"-"+month+"-"+day)
});

【讨论】:

    【解决方案4】:

    这里真正的问题是第二个参数是字符串而不是日期。您需要先转换字符串。

    如果#date 是一个日期选择器,你可以使用这个:

    var from = $("#date").datepicker('getDate').getTime(); 
    var f = $.datepicker.parseDate("d/m/Y", new Date(from));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 2015-08-11
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多