Новые книги

Эта книга об экстремальном программировании. Экстремальное программирование, часто обозначаемое аббревиатурой «XP» – это упрощенная методика организации производства для небольших и средних по размеру команд разработчиков, занимающихся разработкой программного продукта в условиях неясных или быстро меняющихся требований. Данная книга предназначена для того, чтобы помочь вам определить, оправдано ли применение XP в вашей ситуации...
В этой книге описано, как без финансовых вложений увеличить прибыль в несколько раз (как минимум в два) в действующем интернет-магазине. Рассматриваются маркетинговые инструменты и фишки, которые позволяют построить максимально эффективную систему продаж и достичь результата. На момент выхода издание является единственным в своем роде в России. Книгу отличают практическая направленность и простота изложения. Ее можно использовать как руководство к действию. Информация была множество раз проверена на практике в действующих интернет-магазинах, многие из которых стали лидерами в своих нишах благодаря методикам, описанным в издании.

Владельцам и руководителям интернет-магазинов, предпринимателям, руководителям и сотрудникам служб сбыта, маркетологам, специалистам по рекламе и PR.

VI. Функции Даты/Времени

VI. Функции Даты/Времени


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().

[Назад][Содержание][Вперед]