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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php中json格式數(shù)據(jù)的日期時間驗證

php中json格式數(shù)據(jù)的日期時間驗證

PHP
開滿天機 2023-09-08 17:02:53
我對 php 非常陌生,所以我一直在嘗試制作一個基本的簡單應用程序,該應用程序讀取 json 文件并將該數(shù)據(jù)從該文件提取到您的應用程序中。我正在嘗試構建一些邏輯,它會獲取某些特定日期的數(shù)據(jù),即 72 小時內(nèi)的數(shù)據(jù)。文件中的日期以“1/12/2020”格式給出。我試圖以秒為單位轉換 json 日期,并用系統(tǒng)日期(以秒為單位)減去它,然后將差異日期(系統(tǒng)日期 - json 文件中給出的日期數(shù)據(jù))與 72 小時(以秒為單位)進行比較。但我不能這樣做。這是我嘗試過的<?php$str_data = file_get_contents("json_response.json");$data = json_decode($str_data, true);echo "<div class='container-fluid'>        <ul class='w3-ul w3-card-4'>";for($i = 0; $i < sizeof($data["Messages"]); $i++) {            $id=$data["Messages"][$i]["id"];    $pnum=$data["Messages"][$i]["phonenumber"];    $body=$data["Messages"][$i]["body"];    $m_date=$data["Messages"][$i]["M_date"];    $is_read=$data["Messages"][$i]["isRead"];    $M_date_inSecs = strtotime($m_date);    $system_date_inSecs = strtotime("now") ;    $difference_time = $system_date_inSecs - $M_date_inSecs;            if($is_read=="false" && $difference_time <= strtotime("72 hours") )        echo "             <li class='w3-bar'>              <span onclick='this.parentElement.style.display=\"none\"'class='w3-bar-item w3-button w3-white w3-large w3-right'>×</span>              <table class='float-right text-secondary'>              <tr><td>$m_date</td></tr>              <tr><td>Read Status: $is_read</td></tr>              </table>              <img src='profile.png' class='w3-bar-item w3-circle w3-hide-small' style='width:75px'>              <div class='w3-bar-item'>                <span class='w3-large'>{$id}:{$pnum} </span><br>                                <span style='max-height:60px;overflow:auto;max-width:800px;display:block;'>$body</span>              </div>            </li>";}echo "</ul></div>";?>這是示例 json 數(shù)據(jù)"Messages":[    {        "id":"0",        "phonenumber":"Sannan ITU",        "body":"Manan jaldi aja lecture bhi hai is ka 1:45",        "M_date":"31/7/2020",        "isRead":"false"    },]}那么我哪里做錯了。任何建議將不勝感激。
查看完整描述

1 回答

?
月關寶盒

TA貢獻1772條經(jīng)驗 獲得超5個贊

如果您要在 PHP 中使用 DATETIME 對象,然后使用->diff()差異方法,您可能會這樣做。


您還必須將日期分隔符從 轉換/為-,以便 DateTime 類/函數(shù)正確地看到該日期。a/將使它們采用美國格式日期,并且這些日期不是美國格式


$now = new DateTimeImmutable('now');

foreach ($data['Messages'] as $msg){

    

    $jd = new DateTime(str_replace('/','-', $msg['M_date']));


    $diff = $now->diff($jd);

    if ( $diff->d <= 2 ){

        echo $msg['id'] . ' -- ' . $jd->format('Y-m-d').PHP_EOL;

    } 

}


查看完整回答
反對 回復 2023-09-08
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號