【问题标题】:How to insert a Date type variable in MySQL through JSON如何通过 JSON 在 MySQL 中插入 Date 类型的变量
【发布时间】:2014-08-12 05:28:12
【问题描述】:

我在数据库中有一个表,其中包含一个日期类型的字段。如果我尝试通过这样的 API 插入邮递员的日期:

 {
   "registerDate" : "2014-06-02"
 }

它有效,但后来我尝试从 javascript 中使用 jquery 从格式为 YYYY-MM-DD 的输入中获取值,甚至为变量提供值“2014-06-02”它插入一个 NULL数据库中的值。

 var user = new Object();
 user.registerDate = $('#register_date').val();
 createUser(url, type, JSON.stringify(user), function(user){
 });

 var user = new Object();
 user.registerDate = "2014-06-02";
 createUser(url, type, JSON.stringify(user), function(user){
 });

createUser 在哪里:

function createUser(url, type, user, success){
 $.ajax({
     url:url,
     type: 'POST',
     crossDomain : true,
     contentType : type,
     data : user
})
.done(function (data, status, jqxhr) {
      success(user);
})
.fail(function (jqXHR, textStatus) {
    console.log(textStatus);
});
}

如果在邮递员中有效但在 JavaScript 中无效,问题出在哪里?

【问题讨论】:

  • 如果您在检索到 alert(user.registerDate) 的值后立即使用它会发生什么?

标签: javascript mysql json api


【解决方案1】:

作为建议(评论太大),您可能需要使用 parse method 将日期转换为毫秒:

Date.parse('2014-06-02');

以 JSON 格式发送:

{'registerDate' : '1401685200'}

然后在 MySQL 中使用 FROM_UNIXTIME function 将其解析回。

FROM_UNIXTIME(1401685200)

或者更好的是,您可以将日期作为integer 值存储在数据库中,并在需要时将其转换为日期; 因为将其存储为字符串可能会导致编码问题

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 2021-04-04
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多