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

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

是否有任何日期/時(shí)間該功能可能會(huì)中斷?

是否有任何日期/時(shí)間該功能可能會(huì)中斷?

PHP
慕哥6287543 2023-07-15 10:19:14
我以前從未見(jiàn)過(guò)這樣的事情。這是返回預(yù)期答案(一系列五個(gè)日期)的函數(shù)的一部分......有時(shí)。例如,它在早上 6 點(diǎn)運(yùn)行,結(jié)果有時(shí)不正確:五個(gè)日期中的一個(gè)(無(wú)論是第一個(gè)還是最后一個(gè))可能會(huì)丟失。其他時(shí)候,還好。相同的代碼,僅在幾個(gè)小時(shí)后運(yùn)行。我知道處理日期可能比乍一看要復(fù)雜得多,但這讓我很困惑。我只能希望這是我對(duì) DateTime 對(duì)象缺乏經(jīng)驗(yàn)造成的。    $start = new \DateTime(date("Y-m-d", strtotime("-1 day")));     $end = new \DateTime(date("Y-m-d", strtotime("-5 days")));     $diff = $end->diff($start);    $interval = \DateInterval::createFromDateString('-1 day');    $period = new \DatePeriod($start, $interval, $diff->days);     foreach($period as $date) {        echo $date->format("Y-m-d"); // Sometimes first or last date will be missing    }例如,如果代碼在2020-07-05 00:00:00和 之間運(yùn)行2020-07-05 23:59:59,它應(yīng)該返回最后五個(gè)日期:2020-07-042020-07-032020-07-022020-07-012020-06-30我已經(jīng)手動(dòng)運(yùn)行具有不同日期/時(shí)間的代碼,并且無(wú)法重新創(chuàng)建該錯(cuò)誤......但它在生產(chǎn)中每隔幾天就會(huì)發(fā)生一次。這只是普通的 PHP,但它作為 Laravel 項(xiàng)目的一部分運(yùn)行,應(yīng)該考慮到這一點(diǎn)。(應(yīng)用程序時(shí)區(qū)設(shè)置為“歐洲/倫敦”。)
查看完整描述

2 回答

?
蠱毒傳說(shuō)

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

我不喜歡你如何定義$start和$end。如果我沒(méi)記錯(cuò)的話,如果服務(wù)器時(shí)鐘恰好在定義的兩個(gè)變量之間滴答到下一秒,那么您的間隔將是 3 天 23 小時(shí) 59 分鐘 59 秒,而不是正好 4 天。這會(huì)打亂你對(duì)$diff->daysto be3而不是 的定義4,導(dǎo)致日期缺失。


我在這里建議采用不同的方法。具體來(lái)說(shuō),從當(dāng)前日期開(kāi)始,減去一天所需的次數(shù) - 因?yàn)檫@似乎被硬編碼為 5。


$date = new DateTime();

$interval = new DateInterval("P1D");

for( $i=0; $i<5; $i++) {

    $date->sub($interval);

    echo $date->format("Y-m-d")."\n";

}

$i<5當(dāng)然,可以將其重構(gòu)$i < DAYS為一些適當(dāng)?shù)某A慷x,以避免“幻數(shù)”并允許在未來(lái)的開(kāi)發(fā)中進(jìn)行更改。


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
翻閱古今

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

使用 DateTime(以及 strtotime),可以處理“今天 -3 天”等表達(dá)式。今天始終是 00:00。計(jì)算可以簡(jiǎn)化如下:


$days = 5;

for( $i=1; $i<=$days; $i++) {

  echo date_create("today -$i days")->format('Y-m-d')."<br>\n";

}


查看完整回答
反對(duì) 回復(fù) 2023-07-15
  • 2 回答
  • 0 關(guān)注
  • 191 瀏覽

添加回答

舉報(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)