我从数据库中获取时间并执行某些条件,但它无法正常工作。我无法理解此代码中的问题是什么。我的代码
date_default_timezone_set('Asia/Kolkata');
$currentDay=date("l");
$status="SELECT * FROM nesbaty_working_time WHERE provider_id='".$r."' AND day='".$currentDay."'";
$qry_res2 = mysqli_query($con, $status);
$array1 = mysqli_fetch_assoc($qry_res2);
$opening_time = $array1['opening_time'];
$closing_time = $array1['closing_time'];
$currentTime=date("h:i A");
if (($opening_time < $currentTime) && ($currentTime < $closing_time))
{
$response['status'] = "Open";
}
else
{
$response['status'] = "Close";
}
答案 0 :(得分:4)
您无法将AM / PM时间与字符串进行比较。如果当前时间为11:00 AM
,则不会小于05:00 PM
,因为1
大于0
。如果它是01:00 PM
,则不会超过10:00 AM
,因为0
小于1
。
您需要将时间转换为24小时才能正确比较它们。或者只是将它们转换为时间戳。
$currentTime = time();
$openingTime = date_create_from_format('H : i A', $array1['opening_time']);
$closingTime = date_create_from_format('H : i A', $array1['closing_time']);
if ($openingTime <= $currentTime && $currentTime <= $closingTime) {
$response['status'] = "open";
} else {
$response['status'] = "closed";
}
答案 1 :(得分:1)
您应该尝试使用此功能以正确的格式生成数据
import {HttpClient} from '@angular/common/http';
...
facts:any=[];
this.http.get('https://non-ssr-angular.firebaseio.com/facts.json').subscribe(data=>
{this.facts=data});