【问题标题】:combine date and time variables for mysqli datetime field结合 mysqli 日期时间字段的日期和时间变量
【发布时间】:2013-12-25 00:04:59
【问题描述】:

我在堆栈溢出的类似问题中尝试了一些方法,但它仍然无法正常工作。

我有一个变量 $date 和 $time 我需要将它们都放入数据库中的一个日期时间字段 0000-00-00 00:00:00 对于我使用 jquery ui datepicker 的日期,我通过 javascript 将值提交到 php 以清理并插入数据库。 当我提醒代码时,我得到了这个 2013-12-07 08:00:00 所以我不明白为什么它不工作我使用这个代码。

jquery 日期选择器

$(function() {
$( "#datepicker" ).datepicker({ minDate: 0, maxDate: "+14D" }); 
$( "#datepicker" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );

});

php

$sdate = strtotime($_POST['date']);
$stime = strtotime($_POST['time']);
$combined = $sdate. $stime;

它将所有内容都很好地插入数据库表中,但日期时间除外。

有什么好主意吗??

【问题讨论】:

  • 你为什么在值上使用 strtotime?你知道那个函数返回什么吗?
  • 因为我是新手。我现在知道什么会更好,这就是为什么我问一些在这方面有更多技能的人。
  • 那么您的第一步应该始终是阅读手册中函数的作用。

标签: javascript php jquery mysql mysqli


【解决方案1】:

strtotime() 将返回 UNIX 时间戳,而不是格式化日期。

if (isset($_POST['date'] && isset($_POST['time']))) {

    $combined = $_POST['date'].' '.$_POST['time'];
    if (strtotime($combined) === false) {

        //You use a try catch if you wanted
        die('Incorrect Date/Time');
    }    
}

这里我只使用strtotime() 来验证日期时间。

希望这会有所帮助!

【讨论】:

  • 你认为有更好的方法来代替使用 strtotime() 吗?
  • 有几种不同的方法可以做到这一点,但这只是确保您是约会的基本方法。我实际上并没有使用strtotime() 来处理进入数据库的内容,只是验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 2016-10-02
相关资源
最近更新 更多