PHP code example of yue / yeararound

1. Go to this page and download the library: Download yue/yeararound library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

yue / yeararound example snippets


use Yue\YearAround\Context;
use Yue\YearAround\Contracts\ISeason;
use Yue\YearAround\Contracts\IMonth;
use Yue\YearAround\Utilities\DateParser;

$year = Context::CreateYear(2018);

// Check if the leap year
$isLeapYear = $year->isLeapYear(); // false 是否为闰年

$seasons = $year->getSeasons();

foreach($seasons as $season){
    /** @var ISeason $season */
    var_dump($season->getName());
    
    // Get months of each season, it will be adjusted by hemisphere setting in .env
    // 获取每个季度或者季节包含的月份 会根据 .env 文件中半球的设置自动生成
    $months = $season->getMonths();
    foreach($months as $month){
        /** @var IMonth $month */
        var_dump($month);
    }
}

// Can get the end day of any month in any year
// 可以获取某个月在任何年的最后一天
$feb = DateParser::GetMonth(2);
$lastDayInt = $feb->getLastDay(2000)->day; // It's 29 得到闰月值 29
$lastDayInt = $feb->getLastDay(2001)->day; // It's 28 得到闰月值 28

use Yue\YearAround\Context;
use Yue\YearAround\Contracts\IConstellation;
use Yue\YearAround\Utilities\DateParser;
use Yue\YearAround\Utilities\DictionaryFactory;

$constellation = Context::CreateConstellation(1,11,DictionaryFactory::GetInstance('en'));

var_dump($constellation->getName());    // Capricorn 摩羯座
var_dump($constellation->getFistDay()->format('d/M'));  // 22/Dec 从12月22日
var_dump($constellation->getLastDay()->format('d/M'));  // 19/Jan 至1月19日

// Get previous and next 获取前一个星座和下一个星座的名称
var_dump($constellation->prev()->getName());    // Sagittarius 前一个星座是射手座
var_dump($constellation->next()->getName());    // Aquarius 下一个星座是水瓶座

// Get constellation by give tpye 获取指定的星座
$leo = Context::CreateConstellation(null, null, null, IConstellation::Leo);
var_dump($leo->getName()); // Leo 狮子座

use Yue\YearAround\Context;

$monthInt = 3;
$monthString1 = '3';
$monthString2 = '03';
$monthString3 = 'Mar';
$monthString4 = 'March';

$isEndOfAnySeason1 = Context::IsEndOfSeason($monthInt);      // True
$isEndOfAnySeason2 = Context::IsEndOfSeason($monthString1);  // True
$isEndOfAnySeason3 = Context::IsEndOfSeason($monthString2);  // True
$isEndOfAnySeason4 = Context::IsEndOfSeason($monthString3);  // True
$isEndOfAnySeason5 = Context::IsEndOfSeason($monthString4);  // True

use Yue\YearAround\Context;

$year = Context::CreateYear(2018);
foreach ($year->getMonths() as $month) {
    /**
     * @var \Yue\YearAround\Contracts\IMonth $month
     */
    var_dump($month); // Jan/2018; Feb/2018; ...
}

// Sometime the first month of the year might not January 
// 有时候一月并非首月, 比如澳洲的Financial Year是从7月开始到第二年6月结束
$AustralianFinancialYear = Context::CreateYear(2018, 7); // 2018财政年从7月开始
foreach ($AustralianFinancialYear->getMonths() as $month) {
    /**
     * @var \Yue\YearAround\Contracts\IMonth $month
     */
    var_dump($month); // from Jul/2018; Aug/2018; ... Jan/2019; Feb/2019
}

$AustralianFinancialYear->getFirstMonth();  // Jul/2018 获取年度首月 2018年7月
$AustralianFinancialYear->getLastMonth();   // Jun/2019 获取年度末月 2019年6月