第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查范圍時(shí)間是否為新一天前后30分鐘

檢查范圍時(shí)間是否為新一天前后30分鐘

PHP
蕭十郎 2023-04-21 15:04:37
我將日期和時(shí)間分別存儲(chǔ)在表的不同列中。所以我試圖檢查當(dāng)前時(shí)間是否比數(shù)據(jù)庫(kù)中的時(shí)間早或晚 30 分鐘。假設(shè)我有一個(gè)這樣存儲(chǔ)的日期和時(shí)間列表:日期 ? ? ?   | ? ? ? 時(shí)間2020-05-29 00:10:002020-05-29 09:00:00如果我當(dāng)前的日期2020-05-28和時(shí)間是23:50:00,最近的日期和時(shí)間應(yīng)該是2020-05-29, 00:10:00范圍應(yīng)該從的第一行2020-05-28, 23:35:00 - 2020-05-29, 00:35:00我已經(jīng)完成了代碼,但它只能檢測(cè)同一日期的時(shí)間范圍。$currentTime = time();$minTime     = date("H:i", strtotime('-30 minutes', $currentTime));$maxTime     = date("H:i", strtotime('+30 minutes', $currentTime));// My query to get the list of date and time on one specific date and populate to $datetimeArr// $sql = 'SELECT id, date, time FROM table WHERE date = "'.date('Y-m-d').'"';$datetimeArr = [    [        'date' => '2020-05-29',        'time' => '00:10:00'    ],    [        'date' => '2020-05-29',        'time' => '09:00:00'    ],];foreach ($datetimeArr as $k => $row) {    if($row['time'] >= $minTime && $row['time'] <= $maxTime) {        $nearestDate = $row;        continue;    }}所以問(wèn)題是,如果是新一天之前或之后的 30 分鐘,我將無(wú)法正確獲取范圍。
查看完整描述

1 回答

?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊

為什么不使用獲取數(shù)據(jù)的 mysql 查詢來(lái)執(zhí)行此操作?這比用 php foreaches 做要簡(jiǎn)單得多。

SELECT * FROM `TABLE` WHERE `time` > DATE_SUB(NOW(), INTERVAL 30 MINUTE) AND `time` < DATE_ADD(NOW(), INTERVAL 30 MINUTE)

為您的案例更新一個(gè)古怪的解決方案:

SELECT * from TableName where CONCAT(date, ' ', time) between DATE_SUB(NOW(), INTERVAL 30 MINUTE) and DATE_ADD(NOW(), INTERVAL 30 MINUTE)

這會(huì)將日期和時(shí)間字段連接成一個(gè)日期時(shí)間。


查看完整回答
反對(duì) 回復(fù) 2023-04-21
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)