【问题标题】:PHP - Changing date's year to current year [duplicate]PHP - 将日期的年份更改为当前年份[重复]
【发布时间】:2018-04-05 03:24:05
【问题描述】:

我有几个约会时间:

DateTime {#2205 ▼
  +"date": "1970-01-01 12:30:00.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}
DateTime {#2206 ▼
  +"date": "1970-01-01 20:00:00.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}

我只是要求确定当前时间在第一次和第二次之间。这是我的代码:

private function dateIsBetween($from, $to,$currentdate) {
    if ($currentdate >= $from && $currentdate <= $to) {
        return true;
    }
    return false;
}

public function checkTimes($foodTime) {
         $currentTime = new \DateTime();
        var_dump($foodTime->getTimeStartNoon(),$foodTime->getTimeEndNoon());
        return $this->dateIsBetween($foodTime->getTimeStartNoon(),$foodTime->getTimeEndNoon(),$currentTime);

    }

我应该解决的基本问题是将日期的年份更改为当前年份。是否可以使用 Carbon(或纯 PHP)以及如何实现?

【问题讨论】:

  • @DainisAbols 是的,我改变了它。所有三个参数的类型都是对象(日期时间)
  • 代码与问题无关。 “将日期的年份更改为当前年份”与日期比较无关。
  • 请描述 getTimeStartNoon 和 getTimeEndNoon 方法

标签: php datetime php-carbon


【解决方案1】:
public function convertRestaurantTime($time): string
{
    if (gettype($time) == 'string') {
        $time = new \DateTime($time);
    }

    $time   = Carbon::createFromFormat('H:i:s', Carbon::instance($time)->format('H:i:s'), 'Asia/Tehran');
    $hour   = $time->format('G');
    $minute = $time->format('i');

    if ($minute != '00') {
        return $hour . '.' . $minute;
    }

    return $hour;
}

【讨论】:

  • 你的代码更改年份有什么关系??
  • 先转换时间,然后在if语句中使用
  • 他只想签到!
  • 我不明白他使用 $foodTime->getTimeStartNoon() 但没有描述 getTimeStartNoon 方法,您的代码如何解决 getTimeStartNoon 问题,因为此方法返回错误年份
【解决方案2】:

你可以用这个方法

public function checkTimes($foodTime) {
    $currentTime = Carbon::now();
    var_dump($foodTime->getTimeStartNoon(),$foodTime->getTimeEndNoon());
    return ($currentTime->gt($foodTime->getTimeStartNoon()) && $currentTime->lt($foodTime->getTimeEndNoon()));

}

【讨论】:

    猜你喜欢
    • 2013-03-01
    • 2019-08-10
    • 2020-11-11
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多