Глава 23. Функции даты/времени и работы с календарем в PHP
Календарное расширение в РНР представляет серию функций, которая упрощает преобразование между разными календарными форматами. Посредником преобразования является дневной Юлианский счет — самый старый счет дней (появился около 4000 до н.э.). Чтобы менять числа между разными календарными системами, вы должны сначала преобразовать вашу дату в дневной Юлианский счет, а только затем в календарную систему по вашему выбору.
ВНИМАНИЕ
Дневной Юлианский счет отличается от Юлианского календаря.
Эта глава с остоит из следующих тем:
• функции работы с календарем;
• функцивдаты ивремени.
23.1. Функции работы с календарем
С помощью этих функций вы сможете создавать для своих страниц интересные интерактивные скрипты.
JDToGregorian
Преобразовывает дневной Юлианский счет в Григорианскую дату в формате «месяц/день/год».
Синтаксис:
string jdtogregorian(int julianday);
GregorianToJD
Преобразовывает Григорианскую дату на дневной Юлианский счет. Синтаксис:
int gregoriantojd(int month, int day, int year);
диапазон для Григорианского календаря с г. н. э. г. н. э.
Хотя это программное обеспечение может оперировать с датами в обратном порядке до 4714 г. до н.э., такое использование может быть бесполезно и незначительно. Григорианский календарь был учрежден 15 октября 1582г. (5 октября 1582г. в Юлианском календаре). Некоторые страны еще очень долго не принимали его. Например,
Великобритания ввела преобразования в 1752 г., СССР — в 1918 г., Греция — в 1923 г. Европейские страныи спользовали Юлианский Календарь до Григорианского. Рассмотрим пример:
<?php
$jd = GregorianToJD (10, 11,1970);
echo{"$jdn");
$gregorian = JDToGregorian ($jd);
echo("$gregoriann");
?>
JDToJulian
Преобразовываетдату Юлианского календаря в дневной Юлианский счет в формате «месяц/день/год».
Синтаксис:
string jdtojulian (int julianday);
JulianToJD
Преобразовывает дату Юлианского календаря в дневной Юлианский счет. Синтаксис:
int juliantojd (int month, int day, int year);
Правильный диапазон для Юлианского календаря — с 13 г. до н.э. до 9999 г. н.э. Хотя это программное обеспечение может оперировать с датами в обратном порядке до 471 3 г. до н.э., такое использование может быть не нужно. Календарь был создан в 46 г. до н.э., но не стабилизировался до 4 ст. н.э. Начало года различно у некоторых народов — не все соглашаются, что январь — это первый месяц.
JDToJewish
Преобразовывает дневной Юлианский счет в Еврейский календарь. Синтаксис:
string jdtojewish(int julianday);
JewishToJD
Преобразовывает дату в Еврейском календаре на дневной Юлианский счет. Синтаксис:
int jewishtojd (int month, int day, int year);
Еврейский календарь использовался несколько тысячелетий, но в течение начального периода не было никакой формулы, чтобы определить начало месяца. Новый месяц начинался, когда было замечено полнолуние.
JDToFrench
Преобразовывает дневной Юлианский счет во Французский Республиканский календарь.
Синтаксис:
string jdtofrench (int month, int day, int year);
FrenchToJD
Преобразовывает дату Французского Республиканского календаря в дневной Юлианский счет.
Синтаксис:
int frenchtojd (int month, int day, int year);
Эта программа преобразовывает даты в диапазоне от 1 до 14 (Григорианские даты с 22 сентября 1792 г. до 22 сентября 1806 г.). Это покрывает тот период, когда календарь
JDMonthName
Возвращает название месяца. Синтаксис:
string jdmonthname (int julianday, int mode);
Параметр mode сообщает функции, в какой календарь нужно преобразовать дневной Юлианский счет (табл. 23.1).
Таблица 23.1. Календарные способы
JDDayOfWeek
Возвращает день недели. Синтаксис:
mixed jddayofweek (int julianday, int. mode);
Может возвратить string или int в зависимости от способа (mode) (табл. 23.2).
Таблица 23.2. Календарные недельные способы