【问题标题】:CodeIgniter Date or DateTimeCodeIgniter 日期或日期时间
【发布时间】:2018-01-28 13:47:18
【问题描述】:

我有一个问题,我无法解决,也不知道哪里出错了 一个我创建了一个名为posts的表并在codeigniter中创建了一个表单Posts,在创建所有帖子后我想在index.php中显示帖子并且我有一个名为 出发日期和返回日期。我创建的发布日期看起来不错,但是当我在 index.php 中显示时,它看起来像 0000-00-00 00:00:00 在开始的数据类型是日期,现在我改为日期时间但什么也没发生,同样的问题 也许我在我的 JS 脚本中犯了错误 任何意见 ?

我的脚本

<script>
  $( function() {
    $( "#datepicker" ).datepicker();
    $( "#datepicker1" ).datepicker();
  } );
  </script>

【问题讨论】:

  • 你检查你的数据库了吗?如果它实际存储您选择的日期或存储 0000-00-00 00:00:00
  • 是的,它在 db 中存储相同的 0000-00-00 00:00:00
  • 那么问题在于您的插入查询。修复它,您的问题就会得到解决。

标签: php mysql codeigniter date jquery-ui-datepicker


【解决方案1】:

当您在 MySQL 中的字段是日期时间时,它会在保存到数据库之前具有正确的格式。

所以使用php将字符串转换为日期时间格式。

date("Y-m-d H:i:s", strtotime($string)); 

或者你可以在 Datepicker 中做同样的事情

$(function() {
    $('#datepicker').datepicker({
        dateFormat: 'yy-dd-mm',
        onSelect: function(datetext){
            var d = new Date(); // for now
            var h = d.getHours();
                h = (h < 10) ? ("0" + h) : h ;

                var m = d.getMinutes();
            m = (m < 10) ? ("0" + m) : m ;

            var s = d.getSeconds();
            s = (s < 10) ? ("0" + s) : s ;

                datetext = datetext + " " + h + ":" + m + ":" + s;
            $('#datepicker').val(datetext);
        },
    });
});

Fiddle 用于日期选择器

注意如果您只希望 MySQL 字段中的日期,则省略转换的小时分钟秒部分

【讨论】:

    猜你喜欢
    • 2014-01-29
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    相关资源
    最近更新 更多