【问题标题】:PHP convert the day date with the timePHP将日期转换为时间
【发布时间】:2020-03-23 05:09:05
【问题描述】:

我正在编写我的 php 脚本来设置日期和时间。我需要一些帮助将日期转换为当天和第二天的日期,例如:我的当前时间是15:27,我的当前日期是27-11-2019,所以当我有变量get_time1 的字符串时是@987654326 @,我想把它转换成28-11-2019 06:00:00。当我有变量get_time2 的时间为23:00:00 时,因为我的当前时间在23:00:00 之前,所以我想将日期与当前日期与时间转换为27-11-2019 23:00:00

代码:

<?php

$get_time1 = '06:00:00';
$get_time2 = '23:00:00';

date_default_timezone_set('Europe/London');

$Date = date('Y-m-d');
$time = date('H:i:s');

?>

你能告诉我一个例子,我如何设置日期与时间 06:00:0023:00:00 好像时间 06:00:00 是在上午 12 点之后设置第二天的日期,如果时间 @ 987654336@是在12am之前然后用当前日期设置时间?

谢谢。

【问题讨论】:

标签: php date time timestamp


【解决方案1】:

如果您使用DateTime,您可以使用date arithmetic

$now = new DateTime();
$tomorrow = $now->modify("+1 day");

您还可以使用strtotime 来获取unix 时间戳,如this answer 中所述。

$tomorrow = strtotime('+1 day');

【讨论】:

    【解决方案2】:

    这只是根据时间创建一个 DateTime 对象(默认为今天的日期),如果它小于当前日期和时间,它会增加 1 天...

    $date = DateTime::createFromFormat("H:i:s", $get_time2);
    
    if ( $date < new DateTime() )   {
        $date->modify("+1 day");
    }
    

    给了

    2019-11-27 23:00:00
    

    对于$get_time1...

    2019-11-28 06:00:00
    

    【讨论】:

    • 非常感谢您在您编写的代码中,如果我有时间06:00:00,我如何将它添加到第二天以及当我有时间23:00:00 我如何可以使用当前日期和时间吗?我想使用 2 个不同的时间,因为我可以设置时间过去后发送电子邮件的日期。
    • 抱歉 - 我已经更改了代码 - 这会检查现在的时间是否在未来(使用 &lt;
    【解决方案3】:

    也许这样可以?

    $offset = timezone_offset_get( timezone_open( "Europe/London" ), new \DateTime() );
    echo 'in London' . gmdate('d-m-Y H:i:s', date( "U" )+$offset);
    
    echo 'current location: ' . date('d-m-Y H:i:s', date( "U" ));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 2011-01-06
      • 2011-05-22
      • 2013-09-12
      • 2012-08-28
      相关资源
      最近更新 更多