【问题标题】:Save PHP date string into MySQL database as timestamp将 PHP 日期字符串作为时间戳保存到 MySQL 数据库中
【发布时间】:2013-05-03 16:42:31
【问题描述】:

我正在尝试将 PHP 中的日期字符串作为时间戳数据类型保存到 MySQL 数据库中。我发现了很多关于这个的帖子,但没有一个对我有用。这是我尝试过的:

$date =  $_POST['date'];
$timestamp = date("m/d/Y", strtotime($date));
$sql = "insert into sale(service, amount, date, customerid_fk) values('$service', '$amount', '$timestamp', '$id');";

但在数据库中,我只得到:

0000-00-00 00:00:00

POST 对象的输入字符串是05/30/2013。非常感谢您的支持!

【问题讨论】:

标签: php mysql date format timestamp


【解决方案1】:

这可能对你有用:

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

 $sql = "insert into sale(service, amount, date, customerid_fk) values('$service', '$amount', '$timestamp', '$id');";

【讨论】:

    【解决方案2】:

    这对我有用:

    //timestamp fix
    $date = new \DateTime();
    $created_at = $date->setTimestamp(intval($timestamp));
    

    【讨论】:

      【解决方案3】:

      我们在 MySQL 中有NOW() 函数。

      insert into sale(service, amount, date, customerid_fk)values('$service', '$amount', NOW(), '$id');
      

      【讨论】:

        【解决方案4】:

        您需要删除顶点才能将时间戳设置为长

        insert into sale(service, amount, date, customerid_fk) values('$service', '$amount', $timestamp, '$id')
        

        或者使用这种格式的日期'Y-m-d H:i:s'

        【讨论】:

          【解决方案5】:

          如果您的日期字段类型为DATE 或DATE/TIME,它将添加这样的时间戳。您需要将日期字段类型设置为 varchar 并将时间戳添加为字符串。

          如果您需要以 d/m/y 格式添加日期,则 mysql 具有不同的格式,例如 y-m-d 所以在添加之前您可以这样做

          date('y-m-d', strtotime('your-date-string'))

          【讨论】:

            【解决方案6】:

            你应该使用mysql方法

            这个日期是从easyui的一个datebox里得到的

            2016 年 8 月 25 日

            然后

            $date = "FROM_UNIXTIME(".strtotime(08/25/2016).")";
            
            INSERT INTO TABLE (col1, col2, dateI) values($a, $X, $date);
            

            【讨论】:

              【解决方案7】:
              SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00');  -- **1111885200**
              SELECT FROM_UNIXTIME(1111885200);              -- **2005-03-27 03:00:00**
              
              $date =  $_POST['date'];
              $timestamp = date('Y-m-d H:i:s', strtotime($date));  
              
              $sql = "insert into sale(service, amount, date, customerid_fk) values
                  ('$service', '$amount', UNIX_TIMESTAMP('$timestamp'), '$id');"
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2018-05-25
                • 1970-01-01
                • 1970-01-01
                • 2011-04-06
                • 2021-06-27
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多