php时间计算问题

发布网友 发布时间:2022-04-06 00:11

我来回答

4个回答

懂视网 时间:2022-04-06 04:33

推荐:《PHP视频教程》

PHP

当被问及是否很难处理日期和时区时,超过 50%的开发人员回答“是”。我的猜测是,那些对这项调查说“不”的人要么已经明白了这一点,要么他们没有与必须迎合全球用户的平台/应用程序合作。

无论如何,我想创建一篇博客文章,详细介绍我是如何处理日期和时区的。我想只要遵循这些简单的规则,你就不会那么头疼了。

规则 #1 - 在数据库中存储 UTC 格式的 DATETIMES 和后端代码。

所有与日期相关的数据都要保持一致,这一点很重要。在数据库中存储日期时,它们应始终使用 UTC 格式。如果你不熟悉什么是 UTC,那么它是所有主要时区所依据的主要时间标准。主要时区只是 UTC 的偏移量。此外,在使用后端代码处理日期时,请确保日期时间为 UTC 格式。

规则 #2 - 使用前端代码将 DATETIMES 转换为用户的本地时区。

虽然你的后端将返回 UTC 时间,但是前端可以很容易地将这些时间转换为用户的本地时区。这样做会在后端(以UTC为句柄)和前端(以用户本地时间为句柄)之间灌输职责分离。通过使用 ISO 8601 等标准,保持前端日期时间格式的一致性。当你向后端发送请求时,请以 ISO 8601 格式发送日期时间,以便后端可以轻松地将其转换为相应的 UTC 日期时间。

规则 #3 - 使用日期时间库。

在所有主要的 Web 开发语言/框架中都存在用于更好地处理日期时间的库。这些使得基于标准(例如 ISO 8601 )进行转换或格式化变得容易得多。在JavaScript 中要查看的一个示例库是 Moment.js。 在 PHP 中要查看的一个示例库是 Carbon。

通过遵循这些规则,你应该在如何处理日期时间方面灌输一个有效的流程。

资料:

  • UTC时间标准 - https://en.wikipedia.org/wiki/Coordinated_Universal_Time
  • ISO 8601 时间格式标准 - https://en.wikipedia.org/wiki/ISO_8601
  • Moment JS 日期时间库 - https://momentjs.com/
  • Carbon PHP 日期时间库 - https://carbon.nesbot.com/docs/
  • 原文地址:https://dev.to/corykeane/3-simple-rules-for-effectively-handling-dates-and-timezones-1pe0

    译文地址:https://learnku.com/php/t/50855

    热心网友 时间:2022-04-06 01:41

    随机输出?分钟么?可以这么改.
    $pptime = date("m-d G:");
    $pptime .= str_pad(rand(date('i')-3,date('i')),2,'0',STR_PAD_LEFT);
    =====================
    这样改下.
    $time = time();
    $minutes = date("i",$time);
    for($i=0;$i<4;$i++){
    $pptime[] = date("m-d G:").str_pad(date('i',$time)-$i,2,'0',STR_PAD_LEFT); //放在数组中.
    echo date("m-d G:").str_pad(date('i',$time)-$i,2,'0',STR_PAD_LEFT);//或者直接输出,你根据自己需要选择是直接输出还是存在数组中.

    }
    print_r($pptime);

    热心网友 时间:2022-04-06 02:59

    <?php
    $pptime = date("m-d G:");
    $pptime.=rand(0,59);
    echo $pptime;
    ?>
    这只是分钟可以随机
    下边小时也可以随即 看你需要那种了
    <?php
    $pptime = date("m-d ");
    $pptime.=rand(0,23)." : ".rand(0,59);
    echo $pptime;
    ?>

    热心网友 时间:2022-04-06 04:33

    rand();

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com