如何从mysql PDO选择查询中的时间戳中仅选择时间?

时间:2016-03-31 12:33:55

标签: php html mysql select pdo

目前看来,下面的代码只打印出“2016-03-31 13:22:06”中的完整时间戳,但我只想选择时间“13:22:06”或甚至只是“13:22”。

只是想知道如何在PDO select语句中将它们分开以仅占用时间。

提前感谢您的帮助。

/*** The SQL SELECT statement ***/

$sql = "SELECT * FROM chatLogTwo";
foreach ($dbh->query($sql) as $row)
{
 print $row['time'] .' - '. $row['message'] . '<br />';
}

3 个答案:

答案 0 :(得分:5)

您可以尝试date()&amp; strtotime() -

print date('H:i:s', strtotime($row['time'])) .' - '. $row['message'] . '<br />';

date()&amp; strtotime()

或更改查询 -

"SELECT DATE_FORMAT(`time`, '%H:%i:%s') `time`, message FROM chatLogTwo"

DATE_FORMAT()

答案 1 :(得分:2)

你也可以试试这个:

static class JsonWrapper<T> {
    @JsonUnwrapped
    private T inner;
    private String extraField;

    public JsonWrapper(T inner, String field) {
        this.inner = inner;
        this.extraField = field;
    }

    public T getInner() {
        return inner;
    }

    public String getExtraField() {
        return extraField;
    }
}

static class BaseClass {
    private String baseField;

    public BaseClass(String baseField) {
        this.baseField = baseField;
    }

    public String getBaseField() {
        return baseField;
    }
}

public static void main(String[] args) throws JsonProcessingException {
    Object input = new JsonWrapper<>(new BaseClass("inner"), "outer");
    System.out.println(new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(input));
}

答案 2 :(得分:1)

相反,您只需将查询更新为

SELECT *,Date_format(`time`,'%H:%i') as only_time FROM chatLogTwo

只需在您的PHP代码中访问它,如

echo $row['only_time'];