【问题标题】:Save the date time to database and query the hours only将日期时间保存到数据库并仅查询小时数
【发布时间】:2017-12-03 21:01:58
【问题描述】:

我需要你的帮助。我有一个数据库然后数据库我有一个日期时间来保存它。这是格式

date("d M Y H:i:s");

这是我从数据库查询时的输出。

2017 年 6 月 30 日 03:33:52

我的问题是,我只想查询几个小时而没有日期,我该怎么做?来人帮帮我?谢谢。

03:33:52

提前致谢

【问题讨论】:

  • @FrankerZ 我跟随副本,我的问题没有解决。这是我的sql查询有什么问题? $query = $pdo->prepare("SELECT *, DATE_FORMAT(timer_date,'%H:%i:%s') TIMEONLY FROM timer"); $query->execute();

标签: php mysql date


【解决方案1】:

你不想要时间,你想要时间。 MySQL为此提供了一个方便的功能:

select time(datetimecol)

如果您想将列格式化为字符串,那么您只需:

select date_format(datetimecol, '%H:%i%s')

【讨论】:

    【解决方案2】:

    解决这个问题的两种方法。

    您的查询中的第一个,使用:

    $query = $pdo->prepare("SELECT time(datetimecol) as thetime FROM timer"); 
    $query->execute();
    

    你得到准确的时间是time

    2nd,使用全格式日期时间并仅在php中将其转换为时间

    $return = 30 Jun 2017 03:33:52
    $return = date("H:i:s", strtotime($return)); // 03:33:52
    

    【讨论】:

    • 谢谢。我会尝试你的解决方案..我会立即反馈
    • 先生尝试了您的第一个解决方案,有一个输出,但只有一天输出。在我的数据库存储中像这样 2017 年 6 月 29 日 03:33:52 输出是这样的 00:00:29 当我在我的数据库中更改日期时 2017 年 6 月 30 日 03:33:52 输出是 00:00:30跨度>
    • 确保 datetimecol 是您存储的列的列名(可能是 timer_date?)
    • 天啊!它工作..谢谢你先生。我使用你的第二个解决方案
    猜你喜欢
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 2011-09-26
    • 2016-08-17
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多