优化 php 中的 date() 和 strtotime() 函数调用

发布于 2024-10-24 18:18:11 字数 290 浏览 1 评论 0原文

我该如何优化这个:

$enddatetime = date("YmdHis", strtotime(date("YmdHis", strtotime($session_date.' '.$session_time)) . " + ".$session_duration." minutes"));

例如值:

$session_date 2011-01-31
$session_time 19:30:00
$session_duration 100

How can I optimize this:

$enddatetime = date("YmdHis", strtotime(date("YmdHis", strtotime($session_date.' '.$session_time)) . " + ".$session_duration." minutes"));

eg values:

$session_date 2011-01-31
$session_time 19:30:00
$session_duration 100

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

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

发布评论

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

评论(2

掩耳倾听 2024-10-31 18:18:11

好吧,基本上你就是把一头牛,把它变成汉堡,撒上一点盐,然后再把咸汉堡粘回牛身上。

为什么要通过 date->strtotime->date 等重复往返?这是非常低效的。 PHP 的本机日期/时间格式是 Unix 风格的时间戳 - 自 1970 年 1 月 1 日以来的秒数。

$timeval = strtotime($session_date . ' ' . $session_time);
$adjusted_timeval = $timeval + ($session_duration * 60);
$fancy_datetime = date("YmdHis", $adjusted_timeval);

Ok, so basically you're taking a cow, turning it into hamburger, sprinkling on a little bit of salt, then gluing the salted hamburger back into a cow yet again.

Why the repeated roundtrips through date->strtotime->date, etc...? That's highly inefficient. PHP's native date/time format is a Unix-style timestamp - seconds since Jan 1/1970.

$timeval = strtotime($session_date . ' ' . $session_time);
$adjusted_timeval = $timeval + ($session_duration * 60);
$fancy_datetime = date("YmdHis", $adjusted_timeval);
泪痕残 2024-10-31 18:18:11

我能想到的最好的是:

$enddatetime = date("YmdHis", strtotime($session_date.' '.$session_time) + (60*$session_duration));

Best i can think of is:

$enddatetime = date("YmdHis", strtotime($session_date.' '.$session_time) + (60*$session_duration));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文