国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄 搜尋
前言 入門(mén)指南 代碼風(fēng)格指南 語(yǔ)言亮點(diǎn) 編程范式 命名空間 PHP標(biāo)準(zhǔn)庫(kù) 命令行接口 Xdebug 依賴(lài)管理 使用當(dāng)前穩(wěn)定版本的 PHP (7.1) Mac 系統(tǒng)安裝 PHP Windows 系統(tǒng)安裝 PHP 內(nèi)置的 web 服務(wù)器 Composer 與 Packagist PEAR 介紹 開(kāi)發(fā)實(shí)踐 基礎(chǔ)知識(shí) 日期和時(shí)間 設(shè)計(jì)模式 使用 UTF-8 編碼 國(guó)際化 (i18n) 與本地化 (l10n) 一般的實(shí)現(xiàn)方法 Gettext 依賴(lài)注入 基本概念 復(fù)雜的問(wèn)題 容器 數(shù)據(jù)庫(kù) MySQL 擴(kuò)展 PDO 擴(kuò)展 數(shù)據(jù)庫(kù)交互 數(shù)據(jù)庫(kù)抽象層 使用模板 好處 原生 PHP 模板 編譯型模板 錯(cuò)誤與異常 錯(cuò)誤 異常 安全 Web 應(yīng)用程序安全 密碼哈希 數(shù)據(jù)過(guò)濾 配置文件 注冊(cè)全局變量 錯(cuò)誤報(bào)告 測(cè)試 測(cè)試驅(qū)動(dòng)開(kāi)發(fā) 其他測(cè)試工具 服務(wù)器與部署 虛擬或?qū)S梅?wù)器 共享主機(jī) 構(gòu)建及部署應(yīng)用 虛擬化技術(shù) Vagrant 簡(jiǎn)介 Docker 簡(jiǎn)介 緩存 Opcode 緩存 對(duì)象緩存 文檔撰寫(xiě) PHPDoc 資源 PHP 官方 值得關(guān)注的大牛 指導(dǎo) PHP 的 Paas 提供商 框架 組件 其他有用的資源 書(shū)籍 社區(qū) PHP 用戶(hù)組 PHP 會(huì)議 ElePHPants
文字

PHP 中 DateTime 類(lèi)的作用是在你讀、寫(xiě)、比較或者計(jì)算日期和時(shí)間時(shí)提供幫助。除了 DateTime 類(lèi)之外,PHP 還有很多與日期和時(shí)間相關(guān)的函數(shù),但 DateTime 類(lèi)為大多數(shù)常規(guī)使用提供了優(yōu)秀的面向?qū)ο蠼涌?。它還可以處理時(shí)區(qū),不過(guò)這并不在這篇簡(jiǎn)短的介紹之內(nèi)。

在使用 DateTime 之前,通過(guò) createFromFormat() 工廠(chǎng)方法將原始的日期與時(shí)間字符串轉(zhuǎn)換為對(duì)象或使用 new DateTime 來(lái)取得當(dāng)前的日期和時(shí)間。使用 format() 將 DateTime 轉(zhuǎn)換回字符串用于輸出。

<?php 
$raw = '22. 11. 1968'; 
$start = DateTime::createFromFormat('d. m. Y', $raw); 
echo 'Start date: ' . $start->format('Y-m-d') . "\n";

對(duì) DateTime 進(jìn)行計(jì)算時(shí)可以使用 DateInterval 類(lèi)。DateTime 類(lèi)具有例如 add() 和 sub() 等將 DateInterval 當(dāng)作參數(shù)的方法。編寫(xiě)代碼時(shí)注意不要認(rèn)為每一天都是由相同的秒數(shù)構(gòu)成的,不論是夏令時(shí)(DST)還是時(shí)區(qū)轉(zhuǎn)換,使用時(shí)間戳計(jì)算都會(huì)遇到問(wèn)題,應(yīng)當(dāng)選擇日期間隔。使用 diff() 方法來(lái)計(jì)算日期之間的間隔,它會(huì)返回新的 DateInterval,非常容易進(jìn)行展示。

<?php 
// create a copy of $start and add one month and 6 days 
$end = clone $start; 
$end->add(new DateInterval('P1M6D')); 
$diff = $end->diff($start); 
echo 'Difference: ' . $diff->format('%m month, %d days (total: %a days)') . "\n"; 
// Difference: 1 month, 6 days (total: 37 days)

DateTime 對(duì)象之間可以直接進(jìn)行比較:

<?php 
if ($start < $end) {     
    echo "Start is before the end!\n"; 
}

最后一個(gè)例子來(lái)演示 DatePeriod 類(lèi)。它用來(lái)對(duì)循環(huán)的事件進(jìn)行迭代。向它傳入開(kāi)始時(shí)間、結(jié)束時(shí)間和間隔區(qū)間,會(huì)得到這其中所有的事件。

<?php // output all thursdays between $start and $end 
$periodInterval = DateInterval::createFromDateString('first thursday'); 
$periodIterator = new DatePeriod($start, $periodInterval, $end, DatePeriod::EXCLUDE_START_DATE); 
foreach ($periodIterator as $date) 
{     
// output each date in the period     
echo $date->format('Y-m-d') . ' '; 
}

Carbon 是一個(gè)很受歡迎的 PHP API 擴(kuò)展。它繼承了 DateTime 類(lèi)的所有功能,因此只需修改很少的代碼就可以使用更多額外的功能,例如支持本地化、日期加減以及格式化 Datetime 對(duì)象,另外還能根據(jù)你的選擇來(lái)模擬日期和時(shí)間并測(cè)試你的代碼。


上一篇: 下一篇: