當前位置: 首頁>>代碼示例>>PHP>>正文


PHP DateUtil::timestampFromStrptime方法代碼示例

本文整理匯總了PHP中DateUtil::timestampFromStrptime方法的典型用法代碼示例。如果您正苦於以下問題:PHP DateUtil::timestampFromStrptime方法的具體用法?PHP DateUtil::timestampFromStrptime怎麽用?PHP DateUtil::timestampFromStrptime使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在DateUtil的用法示例。


在下文中一共展示了DateUtil::timestampFromStrptime方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: parse

 function parse()
 {
     $domDoc = parent::getDOMDocument();
     // applique l'expression XPath sur le DOM
     $domXpath = new DOMXPath($domDoc);
     $nodeList = parent::getDOMNodeList($domXpath, $this->xpath);
     // récupération du lieu de l'évènement
     $nodeLieu = parent::getDOMNodeList($domXpath, self::LIEU_XPATH);
     $lieu = $nodeLieu->item(0)->nodeValue;
     // l'année en cours de parsing. Sert sur plusieurs itérations.
     $anneeTmp;
     $evmtTmp;
     $evmtList = array();
     foreach ($nodeList as $node) {
         // s'agit-il d'une nouvelle catégorie ?
         if ($node->attributes->getNamedItem("class") != null && $node->attributes->getNamedItem("class")->value == "ville-colonne-centre") {
             // s'agit-il d'une année ?
             if (preg_match(self::ANNEE_PATTERN, $node->nodeValue)) {
                 $anneeTmp = preg_replace(self::ANNEE_PATTERN, "\$1", $node->nodeValue);
             }
         } elseif ($node->attributes->length == 0) {
             // récupération des détails de l'évènement
             $nodeDetails = parent::getDOMNodeList($domXpath, self::DETAILS_RELATIF_XPATH, $node);
             if ($nodeDetails->length == 0) {
                 continue;
             }
             $detailsText = $nodeDetails->item(0)->nodeValue;
             // si on arrive à parser la description, l'horaire et éventuellement le détail
             if (preg_match(self::DETAILS_EVENEMENT_PATTERN, $detailsText, $detailsArray)) {
                 $description = $detailsArray[1];
                 $heureDebut = intval($detailsArray[2]);
                 $minuteDebut = intval($detailsArray[3]);
                 $heureFin = intval($detailsArray[4]);
                 $minuteFin = intval($detailsArray[5]);
                 if (count($detailsArray) > 6) {
                     $details = $detailsArray[6];
                 }
                 // sinon, on insère tout dans la description
             } else {
                 $description = $detailsText;
             }
             // récupération de la date de l'évènement
             $nodeDate = parent::getDOMNodeList($domXpath, self::DATE_RELATIF_XPATH, $node);
             // si on ne trouve pas le noeud, alors on passe au suivant
             if ($nodeDate->length == 0) {
                 continue;
             }
             $dateText = $nodeDate->item(0)->nodeValue;
             $date = strptime($dateText, $this->dateEvenementPattern);
             /* si on ne parvient pas parser la date, on passe au noeud suivant
             			car les évènements sans date ne nous intéressent pas */
             if (!$date) {
                 continue;
             }
             // on positionne l'année récupérée plus tôt
             DateUtil::setYearToStrptime($date, $anneeTmp);
             // on positionne l'heure de début si elle existe
             $dateDebut = $date;
             // FIXME: quand l'heure n'a pas été trouvée pour l'évènement en cours, c'est l'heure de l'évènement précédent qui est positionnée
             if (isset($heureDebut) && isset($minuteDebut)) {
                 $dateDebut["tm_hour"] = $heureDebut;
                 $dateDebut["tm_min"] = $minuteDebut;
             }
             // on positionne l'heure de fin si elle existe
             $dateFin = $date;
             if (isset($heureFin) && isset($minuteFin)) {
                 $dateFin["tm_hour"] = $heureFin;
                 $dateFin["tm_min"] = $minuteFin;
             }
             // récupération du lien de l'évènement
             $nodeLien = parent::getDOMNodeList($domXpath, self::LIEN_RELATIF_XPATH, $node);
             $lien = $nodeLien->item(0)->nodeValue;
             // construction de l'objet Evenement
             $evmtTmp = new Evenement();
             $evmtTmp->description = $description;
             $evmtTmp->dateDebut = DateUtil::timestampFromStrptime($dateDebut);
             $evmtTmp->dateFin = DateUtil::timestampFromStrptime($dateFin);
             $evmtTmp->lieu = $lieu;
             $evmtTmp->lien = $this->url . "/../" . $lien;
             // ajoute l'évènement à la liste retournée
             array_push($evmtList, $evmtTmp);
             // réinitialisation des paramètres
             unset($description, $dateDebut, $dateFin, $lien, $heureDebut, $minuteDebut, $heureFin, $minuteFin);
         }
     }
     return $evmtList;
 }
開發者ID:nagromc,項目名稱:braderies2iCalendar,代碼行數:87,代碼來源:model.class.php


注:本文中的DateUtil::timestampFromStrptime方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。