将一个小时设为时间戳

发布于 2024-11-16 05:55:13 字数 224 浏览 1 评论 0原文

如何将时间(例如 09)设置为 UNIX 时间戳?我尝试了 strtotime() 但没有成功。 strtotime("9") 不返回任何内容。

编辑
这是我的错,我之前没有提到,但我试图检查当前时间+ 30 分钟是否大于或等于保存在 mysql 数据库中的时间。例如,我在数据库中将时间保存为 09(可能是我的错误)。

How can I make a time, for example 09, to a UNIX timestamp? I tried strtotime() but unsuccessfully. strtotime("9") returns nothing.

Edit:
It's my fault that I didn't mention before but I'm trying to check if current time + 30 minutes is bigger or equal to time, saved in a mysql DB. I save time in DB as 09, for example (probably there's my mistake).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

指尖上的星空 2024-11-23 05:55:13

尝试 mktime

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

http://php.net/manual/en/function.mktime.php

Try mktime

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

http://php.net/manual/en/function.mktime.php

眼角的笑意。 2024-11-23 05:55:13

虽然到目前为止两个答案可能都更好,但我想我会提供一个仍然使用 strtotime() 的“可爱”解决方案:

$hour = "09";
echo strtotime("Today $hour:00");

演示:

While both answers so far are probably better, I thought I'd offer a "cute" solution that still uses strtotime():

$hour = "09";
echo strtotime("Today $hour:00");

Demo: http://codepad.org/k9U4BiKN

半透明的墙 2024-11-23 05:55:13

您在编辑中提供的附加信息澄清了一两件事。如果数据库值是表示小时的字符串,则生成用于比较的时间戳可能不会有太大作用。在这种情况下,您也可以将小时值与数字进行比较:

// Value from database
$db_hour = '09';

// Hour 30 minutes from now
$compare_hour = date('H', strtotime('+30 minutes'));

// Check if current time + 30 minutes is bigger
if (intval($compare_hour) >= intval($db_hour))

如果数据库小时值在 0 到 23 之间,则比较当然会在 22:30 到 23:29 之间始终返回 true。

注意:如果 MySQL 表字段是时间戳字段,则可以使用“SELECT EXTRACT(HOUR FROM your_field) AS db_hour FROM your_table;”仅获取小时部分。

http://dev.mysql.com /doc/refman/5.5/en/date-and-time-functions.html#function_extract

The additional information you provided in the edit clarifies one or two things. Generating a timestamp for comparison probably won't do much good if the database value is a string representing the hour. In this case, you can just as well compare the hour values as numbers:

// Value from database
$db_hour = '09';

// Hour 30 minutes from now
$compare_hour = date('H', strtotime('+30 minutes'));

// Check if current time + 30 minutes is bigger
if (intval($compare_hour) >= intval($db_hour))

If the database hour values are between 0 and 23, the comparison will of course always return true between 22:30 and 23:29.

Note: Had the MySQL table field been a timestamp field, you could get just the hour part with "SELECT EXTRACT(HOUR FROM your_field) AS db_hour FROM your_table;"

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_extract

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文