<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## # 日期和時間處理組件-Carbon : nesbot/carbon ### 參考地址 - https://www.cnblogs.com/qinsilandiao/p/10871551.html - 手冊 https://carbon.nesbot.com/docs/ # Carbon介紹 [Carbon](https://carbon.nesbot.com/)是php的日期處理類庫 Carbon 繼承了PHP的[Datetime](http://php.net/manual/zh/class.datetime.php)類,所以 Carbon 中沒有涉及到的,但在[Datetime](http://php.net/manual/zh/class.datetime.php)中已經實現的方法都是可以使用的。 > Laravel 中的**Carbon**就是這貨。 ## 選擇適合的Carbon版本: 目前 Carbon 1.x 僅版本適用于php 5.3以上的版本 Carbon 2.x 也可以使用了,但是要求php 5.4以上的版本 選擇合適的安裝方式: composer安裝(最簡單并且推薦的方法): 命令行安裝 ~~~ $ composer require nesbot/carbon ~~~ 編輯composer.json文件: ~~~ { "require": { "nesbot/carbon": "*" } } ~~~ [直接下載](https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php)Carbon.php安裝到項目中: ~~~php <?php require 'path/to/Carbon.php'; use Carbon\Carbon; printf("Now: %s", Carbon::now()); ~~~ # Carbon實例 Carbon 類聲明在 Carbon 命名空間下,可以通過引入命名空間的方式來代替每次輸入完整的類名。 ~~~php <?php use Carbon\Carbon; ~~~ **Note:**如果在使用 Carbon 時,沒有專門設置時區的話,默認使用 America/Toronto 的時區。 要特別留意是否使用了正確的時區,比如 Carbon 的所有差異比較都使用 UTC 或者系統設定的時區。 ~~~php <?php $dtToronto = Carbon::createFromDate(2019, 1, 1, 'America/Toronto'); $dtVancouver = Carbon::createFromDate(2019, 1, 1, 'America/Vancouver'); echo $dtVancouver->diffInHours($dtToronto); // 3 ~~~ 以上進行的時間比較是在提供的 Carbon 實例所在的時區下完成的。例如作者所在的時區為 東京時間減13 小時,因此在下午一點后。Carbon::now(‘Asia/Tokyo’)->isToday() 將會返回 false ,如果在調用 now() 時設置時區為東京時區,接下來的操作都使用東京時區是說不過去的。所以在與 now() 創建的實例進行比較時,默認是在當前時區下完成的。 值得注意的是,Carbon 構造器的第二個參數被增強到了不僅限于是[\\DateTimeZone](http://php.net/manual/en/class.datetimezone.php)實例,還可以是 String、Integer。舉個栗子來說明下 now() 方法。 ~~~php <?php $now = Carbon::now(); $nowInLondonTz = Carbon::now(new DateTimeZone('Europe/London')); // or just pass the timezone as a string $nowInLondonTz = Carbon::now('Europe/London'); // or to create a date with a timezone of +1 to GMT during DST then just pass an integer echo Carbon::now(1)->tzName; // Europe/London ~~~ 你將會喜歡上用 parse() 方法來代替原有繁瑣的構造方式 ~~~php <?php echo (new Carbon('first day of December 2008'))->addWeeks(2); // 2008-12-15 00:00:00 echo Carbon::parse('first day of December 2008')->addWeeks(2); // 2008-12-15 00:00:00 ~~~ 類似 now() 這樣直接返回 Carbon 實例的方法還有 today(), tomorrow(),yesterday(),他們都接受一個 timezone 類型的參數,最后得到的結果時間部分都是 00:00:00 ~~~php <?php $now = Carbon::now(); echo $now; // 2018-12-14 15:18:34 $today = Carbon::today(); echo $today; // 2018-12-14 00:00:00 $tomorrow = Carbon::tomorrow('Europe/London'); echo $tomorrow; // 2018-12-15 00:00:00 $yesterday = Carbon::yesterday(); echo $yesterday; // 2018-12-13 00:00:00 ~~~ 下面是一些其他的 creatXXX() 形式的靜態方法。絕大多數靜態方法的參數是可傳可不傳的,如果不傳的話會使用方法預設的默認值,這些預設值一般都是針對當前日期、時間、時區的。如果為傳遞某個必要參數,會拋出一個[InvalidArgumentException](http://php.net/manual/en/class.invalidargumentexception.php)類型的異常,用[DateTime::getLastErrors()](http://php.net/manual/en/datetime.getlasterrors.php)方法可以得到異常的詳細信息。 ~~~php <?php Carbon::createFromDate($year, $month, $day, $tz); Carbon::createFromTime($hour, $minute, $second, $tz); Carbon::create($year, $month, $day, $hour, $minute, $second, $tz); ~~~ createFromDate() 默認返回當前時間,createFromTime()日期默認是今天。crete() 所有為 null 的參數都將默認為當前對應的時間。同樣,時區也默認是當前時區。如果只設置了小時數沒有設置分秒那么分秒默認是 0 ~~~php <?php $xmasThisYear = Carbon::createFromDate(null, 12, 25); // Year defaults to current year $Y2K = Carbon::create(2000, 1, 1, 0, 0, 0); $alsoY2K = Carbon::create(1999, 12, 31, 24); $noonLondonTz = Carbon::createFromTime(12, 0, 0, 'Europe/London'); // A two digit minute could not be found try { Carbon::create(1975, 5, 21, 22, -2, 0); } catch(InvalidArgumentException $x) { echo $x->getMessage(); } ~~~ copy() 方法可以copy一個已經存在的 Carbon 實例。對copy生成實例進行修改并不會影響被copy對象的本身。 ~~~php <?php $dt = Carbon::now(); echo $dt->diffInYears($dt->copy()->addYear()); // 1 // $dt was unchanged and still holds the value of Carbon:now() ~~~ 關于毫秒的一些處理。php自帶的 DateTime 類也可以設置毫秒,但是在進行日期的數學預算時并不會考慮毫秒。從 Carbon 1.12.0版本起,實例化、copy也能像 format() 方法一樣支持毫秒(PHP默認的只有[Datetime::format()](http://php.net/manual/en/datetime.format.php)支持毫秒)。 ~~~php <?php $dt = Carbon::parse('1975-05-21 22:23:00.123456'); echo $dt->micro; // 123456 echo $dt->copy()->micro; // 123456 ~~~ …等等… # Carbon的一些使用 ~~~php $knownDate = Carbon::create(2001, 5, 21, 12); // create testing date Carbon::setTestNow($knownDate); // set the mock echo new Carbon('tomorrow'); // 2001-05-22 00:00:00 ... notice the time ! echo new Carbon('yesterday'); // 2001-05-20 00:00:00 echo new Carbon('next wednesday'); // 2001-05-23 00:00:00 echo new Carbon('last friday'); // 2001-05-18 00:00:00 echo new Carbon('this thursday'); // 2001-05-24 00:00:00 Carbon::setTestNow(); ~~~ **以下是當前支持的時間轉換字** 1. this 2. net 3. last 4. this 5. next 6. last 7. tomorrow 8. yesterday 9. “+” 10. “-” 11. first 12. last 13. ago ~~~php //1、基本應用 $now = Carbon::now(); //2018-12-14 14:13:16 $today = Carbon::today(); //2018-12-14 00:00:00 $tomorrow = Carbon::tomorrow(); //2018-12-15 00:00:00 $yesterday = Carbon::yesterday(); //2018-12-13 00:00:00 //2、判斷是否是某一天(2018-12-14(周五)舉例) $now = Carbon::now(); var_dump($now->isWeekend());//false 因為周五不是周末 var_dump($now->isWeekday());//true 因為周五是工作日 var_dump($now->isFriday());//true 因為今天是周五 $now->isToday(); $now->isTomorrow(); $now->isFuture(); $now->isPast(); //3、創建某一天的carbon對象并且進行加減計算 $date = Carbon::create(2016, 12, 25, 0, 0, 0);//2016-12-25 00:00:00 $next_year=$date->addYears(2);//2018-12-25 00:00:00 $past_year=$date->subYears(2);//2014-12-25 00:00:00 $next_month=$date->addMonths(2);//2017-02-25 00:00:00 $past_month=$date->subMonths(2);//2016-10-25 00:00:00 $next_day=$date->addDays(2);//2016-12-27 00:00:00 $past_day=$date->subDays(2);//2016-12-23 00:00:00 ...更有addWeekdays()、addWeeks()、addHours()等方法 //4、將carbon對象轉換成string類型 $dt = Carbon::create(1975, 12, 25, 14, 15, 16); echo $dt->toDateString(); // 1975-12-25 echo $dt->toFormattedDateString(); // Dec 25, 1975 echo $dt->toTimeString(); // 14:15:16 echo $dt->toDateTimeString(); // 1975-12-25 14:15:16 echo $dt->toDayDateTimeString(); // Thu, Dec 25, 1975 2:15 PM //5、兩個時間的比較 $first = Carbon::create(2018, 12, 25, 0, 0, 0); $second = Carbon::create(2016, 12, 25, 0, 0, 0); var_dump($first->eq($second)); var_dump($first->ne($second)); var_dump($first->gt($second)); var_dump($first->gte($second)); var_dump($first->lt($second)); var_dump($first->lte($second)); //6、簡單的周月 $dt = Carbon::create(2012, 1, 31, 12, 0, 0); echo $dt->startOfDay(); // 2012-01-31 00:00:00 $dt = Carbon::create(2012, 1, 31, 12, 0, 0); echo $dt->endOfDay(); // 2012-01-31 23:59:59 $dt = Carbon::create(2012, 1, 31, 12, 0, 0); echo $dt->startOfMonth(); // 2012-01-01 00:00:00 $dt = Carbon::create(2012, 1, 31, 12, 0, 0); echo $dt->endOfMonth(); // 2012-01-31 23:59:59 ~~~ 上面介紹的是一些基本的Carbon使用。Carbon最大的特點就是靈活、人性化。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看