hphp/hack/hhi/stdlib/builtins_datetime.hhi (250 lines of code) (raw):

<?hh /* -*- php -*- */ /** * Copyright (c) 2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the "hack" directory of this source tree. * */ const string DATE_ATOM = ""; const string DATE_COOKIE = ""; const string DATE_ISO8601 = ""; const string DATE_RFC1036 = ""; const string DATE_RFC1123 = ""; const string DATE_RFC2822 = ""; const string DATE_RFC3339 = ""; const string DATE_RFC822 = ""; const string DATE_RFC850 = ""; const string DATE_RSS = ""; const string DATE_W3C = ""; const int DAY_1 = 131079; const int DAY_2 = 131080; const int DAY_3 = 131081; const int DAY_4 = 131082; const int DAY_5 = 131083; const int DAY_6 = 131084; const int DAY_7 = 131085; type DateTimeErrors = shape( 'warning_count' => int, 'warnings' => darray<int, string>, 'error_count' => int, 'errors' => darray<int, string> ); <<__PHPStdLib>> function checkdate(int $month, int $day, int $year); <<__PHPStdLib>> function date_add($datetime, $interval); <<__PHPStdLib>> function date_create_from_format(string $format, string $time, $timezone = null); <<__PHPStdLib>> function date_create($time = null, $timezone = null); <<__PHPStdLib>> function date_date_set($object, int $year, int $month, int $day); <<__PHPStdLib>> function date_default_timezone_get(); <<__PHPStdLib>> function date_default_timezone_set(string $name); <<__PHPStdLib>> function date_diff($datetime, $datetime2, bool $absolute = false); <<__PHPStdLib>> function date_format($object, string $format); <<__PHPStdLib>> function date_get_last_errors(); <<__PHPStdLib>> function date_interval_create_from_date_string(string $time); <<__PHPStdLib>> function date_interval_format($interval, string $format_spec); <<__PHPStdLib>> function date_isodate_set($object, int $year, int $week, int $day = 1); <<__PHPStdLib>> function date_modify($object, string $modify); <<__PHPStdLib>> function date_offset_get($object); <<__PHPStdLib>> function date_parse(string $date); <<__PHPStdLib>> function date_sub($datetime, $interval); <<__PHPStdLib>> function date_sun_info(int $ts, float $latitude, float $longitude); <<__PHPStdLib>> function date_sunrise(int $timestamp, int $format = 0, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $gmt_offset = null); <<__PHPStdLib>> function date_sunset(int $timestamp, int $format = 0, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $gmt_offset = null); <<__PHPStdLib>> function date_time_set($object, int $hour, int $minute, int $second = 0); <<__PHPStdLib>> function date_timestamp_get($datetime); <<__PHPStdLib>> function date_timestamp_set($datetime, int $timestamp); <<__PHPStdLib>> function date_timezone_get($object); <<__PHPStdLib>> function date_timezone_set($object, $timezone); <<__PHPStdLib>> function date(string $format, ?int $timestamp = null)/*: string*/ { } <<__PHPStdLib>> function getdate(?int $timestamp = null); <<__PHPStdLib>> function gettimeofday(bool $return_float = false); <<__PHPStdLib>> function gmdate(string $format, ?int $timestamp = null); <<__PHPStdLib>> function gmmktime(int $hour = PHP_INT_MAX, int $minute = PHP_INT_MAX, int $second = PHP_INT_MAX, int $month = PHP_INT_MAX, int $day = PHP_INT_MAX, int $year = PHP_INT_MAX); <<__PHPStdLib>> function gmstrftime(string $format, ?int $timestamp = null); <<__PHPStdLib>> function idate(string $format, ?int $timestamp = null); <<__PHPStdLib>> function localtime(?int $timestamp = null, bool $is_associative = false); <<__PHPStdLib>> function microtime(bool $get_as_float = false)[leak_safe]; <<__PHPStdLib>> function mktime(int $hour = PHP_INT_MAX, int $minute = PHP_INT_MAX, int $second = PHP_INT_MAX, int $month = PHP_INT_MAX, int $day = PHP_INT_MAX, int $year = PHP_INT_MAX)[leak_safe]; <<__PHPStdLib>> function strftime(string $format, ?int $timestamp = null)[leak_safe]; <<__PHPStdLib>> function strptime(string $date, string $format); <<__PHPStdLib>> function strtotime(string $input, ?int $timestamp = null)[leak_safe]; <<__PHPStdLib>> function time()[leak_safe]: int; <<__PHPStdLib>> function timezone_abbreviations_list(); <<__PHPStdLib>> function timezone_identifiers_list(int $what = 2047, string $country = ''); <<__PHPStdLib>> function timezone_location_get($timezone); <<__PHPStdLib>> function timezone_name_from_abbr(string $abbr, int $gmtoffset = -1, int $isdst = 1); <<__PHPStdLib>> function timezone_name_get($object); <<__PHPStdLib>> function timezone_offset_get($object, $dt); <<__PHPStdLib>> function timezone_open(string $timezone); <<__PHPStdLib>> function timezone_transitions_get(DateTimeZone $object, int $timestamp_begin = PHP_INT_MIN, int $timestamp_end = PHP_INT_MAX); <<__PHPStdLib>> function timezone_version_get(); interface DateTimeInterface { public function diff(DateTimeInterface $datetime2, bool $absolute = false); public function format(string $format); public function getOffset(); public function getTimestamp()[]; public function getTimezone(); } class DateTime implements DateTimeInterface { const string ATOM = ''; const string COOKIE = ''; const string ISO8601 = ''; const string RFC822 = ''; const string RFC850 = ''; const string RFC1036 = ''; const string RFC1123 = ''; const string RFC2822 = ''; const string RFC3339 = ''; const string RSS = ''; const string W3C = ''; public function __construct(string $time = 'now', ?DateTimeZone $timezone = null)[leak_safe]; public function add(DateInterval $interval); public function modify(string $modify); public function getOffset(): int; public function getTimestamp()[]: int; public function getTimezone(); public function setDate(int $year, int $month, int $day); public function setISODate(int $year, int $week, int $day = 1); public function setTime(int $hour, int $minute, int $second = 0); public function setTimestamp(int $unixtimestamp): this; public function setTimezone(DateTimeZone $timezone); public function sub(DateInterval $interval); public function diff(DateTimeInterface $datetime2, bool $absolute = false); public function format(string $format); public static function createFromFormat( string $format, string $time, ?DateTimeZone $timezone = null, ); public static function getLastErrors(): DateTimeErrors; } class DateTimeImmutable implements DateTimeInterface { private DateTime $data; public function __construct(string $time = 'now', ?DateTimeZone $timezone = null); public function add(DateInterval $interval): this; public function modify(string $modify): this; public function getOffset(): int; public function getTimestamp()[]: int; public function getTimezone(); public function setDate(int $year, int $month, int $day): this; public function setISODate(int $year, int $week, int $day = 1): this; public function setTime(int $hour, int $minute, int $second = 0): this; public function setTimestamp(int $unixtimestamp): this; public function setTimezone(DateTimeZone $timezone): this; public function sub(DateInterval $interval): this; public function diff(DateTimeInterface $datetime2, bool $absolute = false); public function format(string $format); public static function createFromFormat( string $format, string $time, ?DateTimeZone $timezone = null, ); public static function createFromMutable(DateTime $datetime); public static function getLastErrors(): DateTimeErrors; public function __clone(); } class DateTimeZone { const int AFRICA = 0; const int AMERICA = 0; const int ANTARCTICA = 0; const int ARCTIC = 0; const int ASIA = 0; const int ATLANTIC = 0; const int AUSTRALIA = 0; const int EUROPE = 0; const int INDIAN = 0; const int PACIFIC = 0; const int UTC = 0; const int ALL = 0; const int ALL_WITH_BC = 0; const int PER_COUNTRY = 0; public function __construct(string $timezone)[]; public function getLocation()[]: darray { } public function getName()[]: string { } public function getOffset(DateTimeInterface $datetime)[]; public function getTransitions(int $timestamp_begin = PHP_INT_MIN, int $timestamp_end = PHP_INT_MAX)[]; static public function listAbbreviations()[]; static public function listIdentifiers(int $what = 2047, string $country = '')[]; } class DateInterval { public int $y; public int $m; public int $d; public int $h; public int $i; public int $s; public int $invert; public mixed $days; public function __construct(string $interval_spec); static public function createFromDateString(string $time); public function format(string $format); } class DatePeriod implements Iterator<DateTime> { const int EXCLUDE_START_DATE = 1; public function __construct( /* DateTimeInterface */ $start, // date string converts DateInterval $interval, /* ?DateTimeInterface */ $end = null, // date string converts int $options = 0, ); public function current(): DateTime; public function rewind(): void; public function key(); public function next(); public function valid(): bool; public function getStartDate(): DateTime; public function getEndDate(): DateTime; public function getDateInterval(): DateInterval; }