Руководство по РНР 3.0 - Функции Даты/Времени
Содержание
checkdate
date
strftime
getdate
gmdate
mktime
gmmktime
time
microtime

checkdate

checkdate -- проверяет правильность даты/времени
Описание

int checkdate (int month, int day, int year);

Возвращает true если данная дата правильна, иначе false. Проверяет правильность даты, заданной аргументами. Дата считается правильной, если:

  • год между 1900 и 32767 включительно

  • месяц между 1 и 12 включительно

  • день находится в диапазоне разрешенных дней данного месяца. Високосные годы учитываются.


date

date -- формат локального времени/даты
Описание

string date (string format, int timestamp);

Возвращает строку, отформатированную согласно данной строке и используя данную временную метку или текущее локальное время, если не задана временная метка.

В фоматной строке должны использоваться следующие символы:

  • a - "am" или "pm"

  • A - "AM" или "PM"

  • d - день месяца, цифровой, 2 цифры (на первом месте ноль)

  • D - день недели, текстовый, 3 буквы; т.е. "Fri"

  • F - месяц, текстовый, длинный; т.е. "January"

  • h - час, цифровой, 12-часовой формат

  • H - час, цифровой, 24-часовой формат

  • i - минуты, цифровой

  • j - день месяца, цифровой, без начальных нулей

  • l (строчная 'L') - день недели, текстовый, длинный; т.е. "Friday"

  • m - месяц, цифровой

  • M - месяц, текстовый, 3 буквы; т.е. "Jan"

  • s - секунды, цифровой

  • S - английский порядковый суффикс, текстовый, 2 символа; т.е. "th", "nd"

  • U - секунды с начала века

  • Y - год, цифровой, 4 цифры

  • w - день недели, цифровой, 0 означает воскресенье

  • y - год, цифровой, 2 цифры

  • z - день года, цифровой; т.е. "299"

Нераспознанные символы в форматной строке будут печататься как есть.

Пример 1. Пример date()


print(date( "l dS of F Y h:i:s A" ));

print("July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000)));

Функции date() и mktime() возможно использовать вместе для того, чтобы найти даты в будущем или прошлом.

Пример 2.Пример функций date() и mktime()


$tomorrow  = mktime(0,0,0,date("m")  ,date("d")+1,date("Y"));

$lastmonth = mktime(0,0,0,date("m")-1,date("d"),  date("Y"));

$nextyear  = mktime(0,0,0,date("m"),  date("d",   date("Y")+1);

Для того, чтобы отформатировать даты на других языках, Вы должны использовать функции setlocale() и strftime()

См.также gmdate() and mktime() .


strftime

strftime -- форматирует локальное время согласно установкам locale
Описание

string strftime (string format, int timestamp);

Возвращает строку, отформатированную согласно данной форматной строке и используя данную временную метку или текущее локальное время, если метка не задана. Названия месяцев и недель и другие, зависящие от языка строки, зависят от текущего locale, устанавливающегося с помощью setlocale() .

В форматной строке следует использовать следующие спецификаторы преобразований:

  • %a - сокращенное название дня недели согласно текущему locale

  • %A - полное название дня недели согласно текущему locale

  • %b - сокращенное название месяца согласно текущему locale

  • %B - полное название месяца согласно текущему locale

  • %c - предпочтительное представление даты и времени для текущего locale

  • %d - день месяца как десятичное число (в диапазоне от 0 до 31)

  • %H - час как десятичное число в 24-часовом формате (в диапазоне от 00 до 23)

  • %I - час как десятичное число в 12-часовом формате (в диапазоне от 01 до 12)

  • %j - день года как десятичное число (в диапазоне от 001 до 366)

  • %m - месяц как десятичное число (в диапазоне от 1 до 12)

  • %M - минуты как десятичное число

  • %p - `am' или `pm' согласно текущему времени, или соответствующие строки для текущего locale

  • %S - секунды как десятичное число

  • %U - номер недели текущего года как десятичное число, начиная с первого Воскресенья в качестве первого дня первой недели

  • %W - номер недели текущего года как десятичное число, ночиная с первого Понедельника в качестве первого дня первой недели

  • %w - день недели как целое число, Воскресенье - 0-й день

  • %x - предпочитаемое представление даты для текущего locale не включающее время

  • %X - предпочитаемое представление времени для текущего locale не включающее дату

  • %y - год как десятичное число без столетия (в диапазоне от 00 до 99)

  • %Y - год как десятичное число, включая столетие

  • %Z - временная зона или название или сокращение

  • %% - символ `%'

Пример 1. Пример функции strftime()


setlocale ("LC_TIME", "C");

print(strftime("%A in Finnish is "));

setlocale ("LC_TIME", "fi");

print(strftime("%A, in French "));

setlocale ("LC_TIME", "fr");

print(strftime("%A and in German "));

setlocale ("LC_TIME", "de");

print(strftime("%A.\n"));
Пример будет работать, если у вас установлены соответствующие locale.

См.также setlocale() и mktime() .


getdate

getdate -- получает информацию о дате/времени
Описание

array getdate (int timestamp);

Возвращает ассоциативный массив, содержащий информацию о дате со следующими элементами:

  • "seconds" - секунды

  • "minutes" - минуты

  • "hours" - часы

  • "mday" - день месяца

  • "wday" - день недели, цифровой

  • "mon" - месяц, цифровой

  • "year" - год, цифровой

  • "yday" - день года, цифровой; т.е. "299"

  • "weekday" - день недели, текстовый, полный; т.е. "Friday"

  • "month" - месяц, текстовый, полный; т.е. "January"


gmdate

gmdate -- форматирует GMT/CUT время/дату
Описание

string gmdate (string format, int timestamp);

Аналогична функции date() за исключением того, что время возвращается в Гринвичском формате Greenwich Mean Time (GMT). Например, при запуске в Финляндии (GMT +0200), первая строка ниже напечатает "Jan 01 1998 00:00:00", в то время как вторая строка напечатает "Dec 31 1997 22:00:00".

Пример 1. пример gmdate()


echo date( "M d Y H:i:s",mktime(0,0,0,1,1,1998) );

echo gmdate( "M d Y H:i:s",mktime(0,0,0,1,1,1998) );

См.также date() , mktime() и gmmktime() .


mktime

mktime -- получает временную метку UNIX для даты
Описание

int mktime (int hour, int minute, int second, int month, int day, int year);

Предупреждение: Обратите внимание на необычный порядок аргументов, который отличается от порядка аргументов в вызове функции mktime() из UNIX, и который нехорошо ведет себя при неправильно заданных параметрах (см.ниже). Это очень часто встречающаяся ошибка в скриптах.

Возвращает временную метку Unix согласно данным аргументам. Эта временная метка является целым числом, равным количеству секунд между эпохой Unix (1 Января 1970) и указанным временем.

Аргументы могут быть опущены с права налево; каждый опущенный таким образом аргумент будет установлен в текущую величину согласно локальной дате и времени.

MkTime is useful for doing date arithmetic and validation, as it MkTime полезена при арифметических дейтсвиях с датой и ее проверкой, она будет автоматически вычислять корректную величину для вешедших за границы параметров. Например, каждая из следующих строк возвращает строку "Jan-01-1998".

Пример 1. Пример mktime()


echo date( "M-d-Y", mktime(0,0,0,12,32,1997) );

echo date( "M-d-Y", mktime(0,0,0,13,1,1997) );

echo date( "M-d-Y", mktime(0,0,0,1,1,1998) );

См.также date() и time() .


gmmktime

gmmktime -- получает временную метку UNIX для даты в GMT
Описание

int gmmktime (int hour, int minute, int second, int month, int day, int year);

Идентична mktime() за исключением передаваемых параметров, представляющих дату в GMT.


time

time -- возвращает текущую временную метку UNIX
Описание

int time (void);

Возвращает текущее время, измеренное в числе секунд с эпохи Unix (1 Января 1970 00:00:00 GMT).

См.также date() .


microtime

microtime -- возвращает текущую временную метку UNIX в микросекундах
Описание

string microtime (void);

Возвращает строку "msec sec" где sec текущее время, измеренное в числе секунд с эпохи Unix (0:00:00 1 Января, 1970 GMT), а msec - это часть в микросекундах. Эти функции доступны только в операционных системах, поддерживающих системный вызов gettimeofday().

См.также time() .

Назад, к содержанию




HTML Site Map

Rambler's Top100
© 2009 Тест скорости интернета |  Boont.Ru