【问题标题】:How to format the date in PHP and SQL?如何在 PHP 和 SQL 中格式化日期?
【发布时间】:2011-11-24 06:11:33
【问题描述】:

我的一个表中有一个名为“publicationDate”的字段,它的数据类型是date。但是,当我进行应显示今天日期的查询时,我遇到了如何格式化它的问题。它总是显示0000-00-00

这是我的变量:

$today = date("F j, Y, g:i a");

这是我的查询:

$query = "INSERT INTO articles (summary, publicationDate) VALUES ('{$content}', '{$today}')";

我做错了什么?

【问题讨论】:

    标签: php mysql sql datetime date


    【解决方案1】:

    试试这个:

    $today = date("Y-m-d"); 
    // 2011-09-24
    

    你的字符串返回:

    $today = date("F j, Y, g:i a");
    // September 24, 2011, 6:39 am
    

    编辑:

    要保存日期和时间,您可以使用日期时间或时间戳:

    $today = time(); // timestamp
    

    将您的数据库字段更改为时间戳。

    $today = date("Y-m-d H:i:s"); // datetime
    

    将您的数据库字段更改为日期时间。


    要从数据库中选择您的数据,您可以这样做:

    $result = mysql_query("SELECT date FROM table");
    $row = mysql_fetch_array($result);
    
    // field is timestamp
    echo date("F j, Y, g:i a", $row['date']);
    // or
    // field is datetime
    echo date("F j, Y, g:i a", strtotime($row['date']));
    

    更多信息在这里:http://at.php.net/manual/en/function.date.php

    【讨论】:

    • 嗨,我试过 $today = date("Y-m-d");它有效。但是,如果我希望打印格式为 2011 年 9 月 24 日上午 6:39 而不是 2011-09-24,该怎么办?我该怎么办?
    • 您要在数据库中写入字符串“September 24, 2011, 6:39 am”吗?
    • 是的,但当前数据类型是“数据”。我需要将其更改为“日期时间”或“时间戳”吗?
    • 在数据库中以您的风格保存日期和时间不是一个好主意。看看我的解决方案。
    【解决方案2】:
    $today = date("Y-m-d");
    

    这是插入 MySQL 的正确格式。

    【讨论】:

      【解决方案3】:

      如果publicationDate 列的类型是DATE(它确实应该是),则需要将日期格式化为one of the formats MySql recognizes,而不是人类可读的字符串。

      如果您喜欢连字符,最常见的是date("Ymd")date("Y-m-d")

      【讨论】:

        【解决方案4】:

        改用这个

        $today = date("Y-m-d");
        

        MySQL date 只存储日期而不是像 YYYY-MM-DD 这样的时间

        如果您还想存储时间,可以使用 DATETIME 字段,即:YYYY-MM-DD HH:MM:SS 或者您可以将时间戳存储为字符串。

        【讨论】:

        • 为什么存储为字符串而不是date
        • 如果您还需要时间。
        • 在这种情况下,您应该使用datetime...当有可用的日期/时间的本机类型时,将时间存储为字符串几乎总是一个坏主意。
        【解决方案5】:

        该值应该是一个字符串,格式化为 MySQL 的格式:Y-m-d。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多