使用 PHP 日期时间值设置 datetimepicker 默认值

Posted

技术标签:

【中文标题】使用 PHP 日期时间值设置 datetimepicker 默认值【英文标题】:Set datetimepicker default value using PHP datetime value 【发布时间】:2022-01-09 07:05:33 【问题描述】:

我尝试将数据库中的日期时间值设置为引导 datetimepicker 输入字段,但在编辑记录时我没有得到确切的日期值。我还尝试使用 php 将 datetimepicker 转换为插入数据库。例如,我尝试了以下方法:

输入:30/12/2021 11:06 PM 输出:1970-01-01 00:00:00

代码尝试:

echo date('Y-m-d H:i:s',strtotime($_POST['lot_datetime'])); 

$(function () 
  $('#datetimepickerDemo').datetimepicker(
    date: '<?php date('d/m/Y h:i:s a', strtotime($lottery['lotdatetime'])); ?>'
  );
);

【问题讨论】:

【参考方案1】:

使用此代码设置日期时间:

$('#datetimepickerDemo').datetimepicker(
    format:"d-M-yy h:mm tt")
);
$('#datetimepickerDemo').val('<?php date('d/m/Y h:i:s a', strtotime($lottery['lotdatetime'])); ?>');

设置datetimepicker日期格式,直接将日期值设置到文本字段中。

【讨论】:

奇怪地看到这个答案被赞成。你能看出为什么日期不会被打印到 javascript 中吗?【参考方案2】:

使用来自 php 的 Y-m-d H:i:s 格式化字符串分配日期属性肯定会起作用。您应该检查是否已成功加载所有必需的库,并检查客户端错误。可能有很多事情让你退缩。你在用JQuery3+ which no longer uses size吗? datetimepicker 是不是没有实例化和are you happy to add the moment library?

最重要的是,在测试时,请确保 某种 类型的日期时间表达式实际上是在客户端(从服务器端代码)打印的。在您的第二次尝试中,您错过了echo

将您的 php 数据打印到 javascript 块中应如下所示:

$(function() 
  $('#datetimepicker1').datetimepicker(
    date: '<?php echo date('Y-m-d H:i:s', strtotime($lottery['lotdatetime'])); ?>'
  );
);

$(function() 
  $('#datetimepicker1').datetimepicker(
    date: '2021-12-30 23:06:00'
  );
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.min.css">

<div class="container">
  <div class="row">
    <div class='col-sm-6'>
      <div class="form-group">
        <div class='input-group date' id='datetimepicker1'>
          <input type='text' class="form-control" />
          <span class="input-group-addon">
            <span class="glyphicon glyphicon-calendar"></span>
          </span>
        </div>
      </div>
    </div>
  </div>
</div>

【讨论】:

以上是关于使用 PHP 日期时间值设置 datetimepicker 默认值的主要内容,如果未能解决你的问题,请参考以下文章

同步 MonthCalendar 和 Datetimepicker

PHP 输入0001-01-02 日期格式

如何设置ui bootstrap datepicker的日期值

将 gregorian 日期转换为 angular 2 和 Ionic 2 中的波斯(jalali)日期

使用ajax codeigniter php根据日期检索数据库值

使用 C# DateTime 将 SQL 日期时间设置为最小值