phpstorm-stubs/calendar/calendar.php

315 lines
9.7 KiB
PHP

<?php
// Start of calendar v.
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
/**
* Converts Julian Day Count to Gregorian date
* @link https://php.net/manual/en/function.jdtogregorian.php
* @param int $julian_day <p>
* A julian day number as integer
* </p>
* @return string The gregorian date as a string in the form "month/day/year"
*/
function jdtogregorian(int $julian_day): string {}
/**
* Converts a Gregorian date to Julian Day Count
* @link https://php.net/manual/en/function.gregoriantojd.php
* @param int $month <p>
* The month as a number from 1 (for January) to 12 (for December)
* </p>
* @param int $day <p>
* The day as a number from 1 to 31
* </p>
* @param int $year <p>
* The year as a number between -4714 and 9999
* </p>
* @return int The julian day for the given gregorian date as an integer.
*/
function gregoriantojd(int $month, int $day, int $year): int {}
/**
* Converts a Julian Day Count to a Julian Calendar Date
* @link https://php.net/manual/en/function.jdtojulian.php
* @param int $julian_day <p>
* A julian day number as integer
* </p>
* @return string The julian date as a string in the form "month/day/year"
*/
function jdtojulian(int $julian_day): string {}
/**
* Converts a Julian Calendar date to Julian Day Count
* @link https://php.net/manual/en/function.juliantojd.php
* @param int $month <p>
* The month as a number from 1 (for January) to 12 (for December)
* </p>
* @param int $day <p>
* The day as a number from 1 to 31
* </p>
* @param int $year <p>
* The year as a number between -4713 and 9999
* </p>
* @return int The julian day for the given julian date as an integer.
*/
function juliantojd(int $month, int $day, int $year): int {}
/**
* Converts a Julian day count to a Jewish calendar date
* @link https://php.net/manual/en/function.jdtojewish.php
* @param int $julian_day
* @param bool $hebrew [optional] <p>
* If the <i>hebrew</i> parameter is set to <b>TRUE</b>, the
* <i>fl</i> parameter is used for Hebrew, string based,
* output format.
* </p>
* @param int $flags [optional] <p>
* The available formats are:
* <b>CAL_JEWISH_ADD_ALAFIM_GERESH</b>,
* <b>CAL_JEWISH_ADD_ALAFIM</b>,
* <b>CAL_JEWISH_ADD_GERESHAYIM</b>.
* </p>
* @return string The jewish date as a string in the form "month/day/year"
*/
function jdtojewish(int $julian_day, bool $hebrew = false, int $flags = 0): string {}
/**
* Converts a date in the Jewish Calendar to Julian Day Count
* @link https://php.net/manual/en/function.jewishtojd.php
* @param int $month <p>
* The month as a number from 1 to 13
* </p>
* @param int $day <p>
* The day as a number from 1 to 30
* </p>
* @param int $year <p>
* The year as a number between 1 and 9999
* </p>
* @return int The julian day for the given jewish date as an integer.
*/
function jewishtojd(int $month, int $day, int $year): int {}
/**
* Converts a Julian Day Count to the French Republican Calendar
* @link https://php.net/manual/en/function.jdtofrench.php
* @param int $julian_day
* @return string The french revolution date as a string in the form "month/day/year"
*/
function jdtofrench(int $julian_day): string {}
/**
* Converts a date from the French Republican Calendar to a Julian Day Count
* @link https://php.net/manual/en/function.frenchtojd.php
* @param int $month <p>
* The month as a number from 1 (for Vendémiaire) to 13 (for the period of 5-6 days at the end of each year)
* </p>
* @param int $day <p>
* The day as a number from 1 to 30
* </p>
* @param int $year <p>
* The year as a number between 1 and 14
* </p>
* @return int The julian day for the given french revolution date as an integer.
*/
function frenchtojd(int $month, int $day, int $year): int {}
/**
* Returns the day of the week
* @link https://php.net/manual/en/function.jddayofweek.php
* @param int $julian_day <p>
* A julian day number as integer
* </p>
* @param int $mode [optional] <table>
* Calendar week modes
* <tr valign="top">
* <td>Mode</td>
* <td>Meaning</td>
* </tr>
* <tr valign="top">
* <td>0 (Default)</td>
* <td>
* Return the day number as an int (0=Sunday, 1=Monday, etc)
* </td>
* </tr>
* <tr valign="top">
* <td>1</td>
* <td>
* Returns string containing the day of week
* (English-Gregorian)
* </td>
* </tr>
* <tr valign="top">
* <td>2</td>
* <td>
* Return a string containing the abbreviated day of week
* (English-Gregorian)
* </td>
* </tr>
* </table>
* @return string|int The gregorian weekday as either an integer or string.
*/
function jddayofweek(int $julian_day, int $mode = CAL_DOW_DAYNO): string|int {}
/**
* Returns a month name
* @link https://php.net/manual/en/function.jdmonthname.php
* @param int $julian_day
* @param int $mode
* @return string The month name for the given Julian Day and <i>calendar</i>.
*/
function jdmonthname(int $julian_day, int $mode): string {}
/**
* Get Unix timestamp for midnight on Easter of a given year
* @link https://php.net/manual/en/function.easter-date.php
* @param int|null $year [optional] <p>
* The year as a number between 1970 an 2037
* </p>
* @param int $mode [optional] Allows Easter dates to be calculated based on the Julian calendar when set to CAL_EASTER_ALWAYS_JULIAN
* @return int The easter date as a unix timestamp.
*/
function easter_date(?int $year, #[PhpStormStubsElementAvailable(from: '8.0')] int $mode = CAL_EASTER_DEFAULT): int {}
/**
* Get number of days after March 21 on which Easter falls for a given year
* @link https://php.net/manual/en/function.easter-days.php
* @param positive-int|null $year [optional] <p>
* The year as a positive number
* </p>
* @param int $mode [optional] <p>
* Allows to calculate easter dates based
* on the Gregorian calendar during the years 1582 - 1752 when set to
* <b>CAL_EASTER_ROMAN</b>. See the calendar constants for more valid
* constants.
* </p>
* @return int The number of days after March 21st that the Easter Sunday
* is in the given <i>year</i>.
*/
function easter_days(?int $year, int $mode = CAL_EASTER_DEFAULT): int {}
/**
* Convert Unix timestamp to Julian Day
* @link https://php.net/manual/en/function.unixtojd.php
* @param int|null $timestamp defaults to time() <p>
* A unix timestamp to convert.
* </p>
* @return int|false A julian day number as integer.
*/
function unixtojd(?int $timestamp = null): int|false {}
/**
* Convert Julian Day to Unix timestamp
* @link https://php.net/manual/en/function.jdtounix.php
* @param int $julian_day <p>
* A julian day number between 2440588 and 2465342.
* </p>
* @return int The unix timestamp for the start of the given julian day.
*/
function jdtounix(int $julian_day): int {}
/**
* Converts from a supported calendar to Julian Day Count
* @link https://php.net/manual/en/function.cal-to-jd.php
* @param int $calendar <p>
* Calendar to convert from, one of
* <b>CAL_GREGORIAN</b>,
* <b>CAL_JULIAN</b>,
* <b>CAL_JEWISH</b> or
* <b>CAL_FRENCH</b>.
* </p>
* @param int $month <p>
* The month as a number, the valid range depends
* on the <i>calendar</i>
* </p>
* @param int $day <p>
* The day as a number, the valid range depends
* on the <i>calendar</i>
* </p>
* @param int $year <p>
* The year as a number, the valid range depends
* on the <i>calendar</i>
* </p>
* @return int A Julian Day number.
*/
function cal_to_jd(int $calendar, int $month, int $day, int $year): int {}
/**
* Converts from Julian Day Count to a supported calendar
* @link https://php.net/manual/en/function.cal-from-jd.php
* @param int $julian_day <p>
* Julian day as integer
* </p>
* @param int $calendar <p>
* Calendar to convert to
* </p>
* @return array an array containing calendar information like month, day, year,
* day of week, abbreviated and full names of weekday and month and the
* date in string form "month/day/year".
*/
#[ArrayShape([
"date" => "string",
"month" => "int",
"day" => "int",
"year" => "int",
"dow" => "int",
"abbrevdayname" => "string",
"dayname" => "string",
"abbrevmonth" => "string",
"monthname" => "string"
])]
function cal_from_jd(int $julian_day, int $calendar): array {}
/**
* Return the number of days in a month for a given year and calendar
* @link https://php.net/manual/en/function.cal-days-in-month.php
* @param int $calendar <p>
* Calendar to use for calculation
* </p>
* @param int $month <p>
* Month in the selected calendar
* </p>
* @param int $year <p>
* Year in the selected calendar
* </p>
* @return int The length in days of the selected month in the given calendar
*/
function cal_days_in_month(int $calendar, int $month, int $year): int {}
/**
* Returns information about a particular calendar
* @link https://php.net/manual/en/function.cal-info.php
* @param int $calendar [optional] <p>
* Calendar to return information for. If no calendar is specified
* information about all calendars is returned.
* </p>
* @return array
*/
#[ArrayShape(["months" => "array", "abbrevmonths" => "array", "maxdaysinmonth" => "int", "calname" => "string", "calsymbol" => "string"])]
function cal_info(int $calendar = -1): array {}
define('CAL_GREGORIAN', 0);
define('CAL_JULIAN', 1);
define('CAL_JEWISH', 2);
define('CAL_FRENCH', 3);
define('CAL_NUM_CALS', 4);
define('CAL_DOW_DAYNO', 0);
define('CAL_DOW_SHORT', 2);
define('CAL_DOW_LONG', 1);
define('CAL_MONTH_GREGORIAN_SHORT', 0);
define('CAL_MONTH_GREGORIAN_LONG', 1);
define('CAL_MONTH_JULIAN_SHORT', 2);
define('CAL_MONTH_JULIAN_LONG', 3);
define('CAL_MONTH_JEWISH', 4);
define('CAL_MONTH_FRENCH', 5);
define('CAL_EASTER_DEFAULT', 0);
define('CAL_EASTER_ROMAN', 1);
define('CAL_EASTER_ALWAYS_GREGORIAN', 2);
define('CAL_EASTER_ALWAYS_JULIAN', 3);
define('CAL_JEWISH_ADD_ALAFIM_GERESH', 2);
define('CAL_JEWISH_ADD_ALAFIM', 4);
define('CAL_JEWISH_ADD_GERESHAYIM', 8);
// End of calendar v.