与类New DateTime PHP不一致

时间:2019-02-14 10:47:36

标签: php date

我需要按正确的小时数开始按小时数获取范围,例如:如果此刻在05:25,则需要05:00和06:00。

我有此代码:

$currentHour = (new DateTime())->format('H:00');
$nextHour    = (new DateTime('+59 minutes'))->format('H:00');
$timeRangeFinal   = [$currentHour, $nextHour];

如果当前时间不是01:00、02:00、03:00 ...代码可以正常工作,但是如果当前时间例如是02:00,则数组相同,$ timeRangeFinal [0] =“ 02:00”和$ timeRangeFinal [1] =“ 02:00”。

如何通过*:00在一小时内获得范围?

2 个答案:

答案 0 :(得分:0)

您需要更改此行代码

<input type="text" name="txt_<%=l_profileid %>_<%=l_processstepsequence%>" value="<%= l_comments%>" onfocus="this.oldvalue = this.value;" onchange="onChangeTest(this);this.oldvalue = this.value;">

对此

$nextHour    = (new DateTime('+59 minutes'))->format('H:00');

答案 1 :(得分:0)

我为您写了一些。这是一种方法,但是您需要在其上添加1个小时。 我写了一篇小论文(这也有助于我学习,所以我很乐意这样做)。

SELECT *
FROM   your_table
WHERE  epoch_column >= ( ADD_MONTHS( TRUNC(SYSDATE,'MM'), - 1 ) - DATE '1970-01-01' ) * 24 * 60 * 60
AND    epoch_column <  ( TRUNC( SYSDATE, 'MM' ) - DATE '1970-01-01' ) * 24 * 60 * 60

这是从当前时间开始的。它首先将其格式化为您所处的小时数。接下来,它会添加您需要的额外1小时并将其格式化为正确的格式。 希望对您有所帮助。