Джимбо ком вход русская версия. Создание групп: от А до Я. Как мне поставить ссылку на что-либо, находящееся на той же самой странице? Можно ли создать ссылку-якорь

Работа с датой и временем в PHP относительно несложная. Наличие довольно большого количества функций делает код не таким громоздким (а в PHP 5.2 с появлением DateTime и в 5.3 с добавлением классов DateInterval и DatePeriod и отдельных методов - работа с датами стала ещё проще и удобнее). Итак, для работы с датой…Во-первых, в любом случае, следует иметь в виду, что:

  • практически любое действие можно сделать несколькими способами;
  • весь код написан для демонстрации и примеров работы;
  • не всегда предложенный альтернативный результат может подходить при использовании более ранней версии PHP (иногда проще , чем править работающий код многолетней давности);

В PHP 5.3 для корректной работы с датой во избежание ошибок Strict Standarts . На сегодняшний день, как правило эта ситуация учитывается либо в скриптах, либо в настройках хостинга.

PHP преобразовать UNIX timestamp в дату в заданном формате

Одна из самых простых задач. Используется функция: date($format, $time)
Первым параметром передаём формат даты - подробнее см в документации (для “привычного нам” 28.02.2012 15:43:59 следует использовать:
date("d.m.Y H:i:s", $time)

PHP как узнать завтрашнюю/вчерашнюю дату

Тут тоже всё просто. Функцией time() получаем текущее время в формате UNIX Timestamp. Отнимаем (вчерашняя дата) или прибавляем (завтра) нужное количество секунд (86400 = 3600*24 - в сутках) и получаем:
$now = time(); // использовать не обязательно
$yesterday = time()-3600*24;
$tomorrow = time()+3600*24;
$weekBefore = time() - 3600*24*7; // неделю назад
echo "Вчера: ",date("d.m.Y", $yesterday),"
Завтра:",date("d.m.Y",$tomorrow);

PHP как получить дату с определённым сдвигом (на X дней раньше/позже)

Иногда требуется узнать дату, которая будет через несколько дней от указанной. Например, пользователь оплатил услугу 11 февраля 2013 года на 3 недели. Имеется информация об оплате. До какого числа оплачено?

Когда можно “просто” прибавить пару дней и получить 13 февраля - особых сложностей процедура не вызывает. Но как быть с разным количеством дней в месяце? Как быть с високосным годом? Всё уже придумано до нас - для вычисления даты по известному интервалу будем использовать mktime

$payment = array("day"=>11,"month"=>2,"year"=>2013);
$toDate = mktime(0,0,0,$payment["month"],$payment["day"]+3*7,$payment["year"]);
echo date("d.m.Y",$toDate); // вывод
// в PHP > 5.3 с использованием DateInterval
date_default_timezone_set("Europe/Moscow");
$datetime = new DateTime(date());
$datetime->sub(new DateInterval("P7D")); // минус 7 дней

PHP как посчитать разницу между датами

Казалось бы простая ситуация - есть две даты, посчитать количество дней (месяцев и дней) между ними. Однако, “ручная” реализация потребует некоторого времени, и есть шанс что-либо упустить (для спортивного интереса - желающие попробовать могут оставлять код в комментариях). В PHP для вычисления разницы между датами есть встроенная функция date_diff, или точнее Datetime::diff
$datetime1 = new DateTime("2013-05-01");
$datetime2 = new DateTime("2013-01-01");
$interval = $datetime1->diff($datetime2);
echo $interval->format("%R%a days after New Year");

PHP перевести DDD дней в X лет Y месяцев Z лет

Иногда требуется вывести время после определённого события. Например, после регистрации прошло. Для удобства (3200 дней мало о чём говорит) восприятия перевести в годы и месяцы можно используя форматирование DateInterval::format
$registerDate = new DateTime("2009-03-03");
$today = new DateTime();
$interval = $today->diff($registerDate);
echo "С момента регистрации прошло: ";
echo $interval->format("%a дней")."\n"; // общее количество дней
echo " или ";
echo $interval->format("%m месяцев, %d дней"); // месяцев, дней

PHP перевод из date в timestamp - разбор даты в русском формате

Иногда требуется перевести дату в формате, удобном для восприятия в формат UNIX TIMESTAMP Для разбора даты в формате ‘2013-05-30 12:35′ на составляющие (отдельно получить год, месяц, день) можно воспользоваться функцией date_parse. Для перевода сразу в unix timestamp - можно использовать strtotime (а также вариации вроде ‘now’, ‘+1 day’, ‘next Thursday’ - php.net/manual/en/datetime.formats.php):
echo strtotime("2013-05-30");
print_r (date_parse("2013-05-30 12:35"));

Однако, для России более привычный формат ДД.ММ.ГГГГ. Можно, конечно, разбить дату по символу точки, получить день, месяц, год и при помощи функции mktime узнать соответствующее значение UNIX TIMESTAMP. В PHP5.3 появилась функция date_parse_from_format, в которую можно передать строку с форматом. А для PHP5.2 я использовал strptime (о существовании которой, как выяснилось, не все догадываются, возможно, потому, что она банально не реализована для Windows: This function is not implemented on Windows platforms):

$date = "30.05.2013 12:35";
$format = "d.m.Y H:i";
print_r (date_parse_from_format($format,$date));
// альтернативный вариант для PHP5.2
$format = "%d.%m.%Y %H:%M"; // отличается от используемого в функции date
$d = strptime($date, $format);
$newDate = mktime($d["tm_hour"], $d["tm_min"], $d["tm_sec"],
$d["tm_mon"]+1, $d["tm_mday"], $d["tm_year"]+1900); // tm_mon 0-11, tm_year 1900
echo $newDate;

Кроме того, у функции strptime есть особенности - месяц сдвинут на единичку (Январь - 0), а год - это количество лет с 1900 года, т.е. для 2013 $d[’tm_year’] будет равно 113.

Ссылки и полезная информация:
PHP dateTime functions http://www.php.net/manual/en/ref.datetime.php - функции работы с датой
PHP class DateTime http://www.php.net/manual/en/class.datetime.php
PHP date_diff http://www.php.net/manual/en/function.date-diff.php
PHP strftime http://ru2.php.net/manual/en/function.strftime.php
PHP date_parse_from_format http://ru2.php.net/manual/en/function.date-parse-from-format.php

Очевидно, что очень часто программистам приходится работать с датой и временем . Самый простой пример - это дата и время отправки сообщения на форуме. И, разумеется, такие вещи могут реализоваться на PHP , тем более, что возможностей по работе с датой и временем в PHP очень много.

Базовая функция, связанная с датой и временем в PHP , - это функция time() , которая возвращает количество секунд, прошедших с полуночи 01.01.1970 (зарождение эпохи Unix ):

echo time();
?>

Запустив данный скрипт, Вы узнаете, сколько секунд прошло с полуночи 01.01.1970 до момента вызова функции time() в Вашем скрипте.

Разумеется, помимо этой базовой функции, которая присутствует во всех языках программирования, где можно работать с датой и временем (по крайней мере, среди тех, которые я знаю), существует и другая функция, которая называется getdate() :

$datetime = getdate();
foreach ($datetime as $k=>$v)
echo "$k - $v
";
?>

Запустив данный скрипт, Вы увидите набор ключей в массиве и их соответствующих значений (заодно, повторили конструкцию foreach ). Думаю, что теперь для Вас не составит труда узнать любые данные, связанные с датой и временем . Например, чтобы вывести текущее время, необходимо написать следующий код:

$datetime = getdate();
echo $datetime["hours"].":".$datetime["minutes"].":".$datetime["seconds"];
?>

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

$datetime = getdate(152353232);
echo $datetime["year"];
?>

В результате, Вы увидите 1974-ый год.

Также существует функция date() . Я рекомендую посмотреть описание по ней в справочнике, так как данная функция принимает весьма сложный параметр, который задаёт формат вывода даты. Элементов форматирования чуть больше 30-ти штук. И в примере ниже я приведу несколько из них, а остальные посмотрите в справочнике, потому что их запоминать не нужно, но ознакомиться с ними крайне желательно. А принцип их использования знать обязательно, и о нём следующий пример:

echo date("Сегодня d.m.Y H:i:s");
?>

В результате, Вы увидите что-то наподобие этого: "Сегодня 15.11.2010 21:44:24 ". Также у функции date() есть ещё второй необязательный параметр, задающий timestamp , как раз та величина, равная количеству секунд, прошедших с полуночи 01.01.1970 . Пример использования второго параметра:

echo date("Когда-то было d.m.Y H:i:s", 5393235329);
?>

Также существует функция gmdate() , которая является полным аналогом функции date() , но функция gmdate() показывает время не по часовому поясу сервера, на котором работает скрипт, а по Гринвичу . Очевидно, что с помощью этой функции надо сохранять всю информацию о дате и времени, которую видит пользователь, а при выводе нужно подстраиваться под часовой пояс каждого пользователя (в идеале, конечно):

echo gmdate("Сейчас на Гринвиче D M j H:i:s T Y")
?>

В результате, Вы увидите примерно следующее: "Mon Nov 15 18:52:45 GMT 2010 ". Разумеется, у Вас будет выведена уже другая дата, но в аналогичном формате. Также я настоятельно рекомендую залезть в справочник и просто ознакомиться с другими элементами даты и времени в PHP (я привёл только треть), так как функции date() и gmdate() - это самый простой и самый быстрый способ получить дату и время в практически любом формате.

У Вас в браузере заблокирован JavaScript. Разрешите JavaScript для работы сайта!

Представление даты и времени

В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д.

PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:

  • time() - возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX).
  • getdate() - считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:

    Пример 1

    Использование getdate() $val) echo "$key = $val
    "; echo "
    Сегодня: $d.$d.$d"; ?>

    РЕЗУЛЬТАТ ПРИМЕРА 1:

    Seconds = 21 minutes = 4 hours = 12 mday = 10 wday = 4 mon = 11 year = 2005 yday = 313 weekday = Thursday month = November 0 = 1131613461 Сегодня: 10.11.2005

  • date() - форматирование даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. Строка формата может содержать следующие коды:
    a
    A Включено обозначение "AM" или "PM"
    d День месяца (01-31)
    D Сокращенное название дня недели (три буквы)
    F Полное название месяца
    g Часы (12-часовой формат без ведущих нулей)
    G Часы (24-часовой формат без ведущих нулей)
    h Часы (12-часовой формат)
    H Часы (24-часовой формат)
    i Минуты (00-59)
    j День месяца без ведущих нулей (1-31)
    l Полное название дня недели
    L Признак високосного года (0 или 1)
    m Месяц (01-12)
    M Сокращенное название месяца (три буквы)
    n Месяц (1-12)
    s Секунды (00-59)
    t Количество дней в данном месяце (от 28 до 31)
    U Абсолютное время
    w
    y Год (два разряда)
    Y Год (четыре разряда)
    z День года (0-365)
    Z Смещение часового пояса в секундах (от -43200 до 43200)

    Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту "\". Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку "n", то надо ввести "\\n", поскольку "\n" является символом новой строки.

    Пример 2

    Использование date()

    РЕЗУЛЬТАТ ПРИМЕРА 2:

    Сегодня: 10.11.05 13:03

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

    Часы
    минуты
    секунды
    месяц
    день месяца
    год

    Пример 3

    Использование mktime()

    РЕЗУЛЬТАТ ПРИМЕРА 3:

  • checkdate() - проверка правильности даты. Аргументы: месяц, день, год. Возвращает true , если дата правильная, т.е.
    месяц - целое число от 1 до 12;
    день - целое число, не превышающее общего количества дней в данном месяце. При этом високосные годы обрабатываются корректно;
    год - целое число от 1 до 32767.

    Например:

    If (!checkdate($month, 1, $year)) { $d = getdate(); $month = $d; $year = $d; }

    Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.

  • strftime() - формирование локальной даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. При этом названия месяцев и дней недели извлекается из локали, выбранной с помощью функции Строка формата может содержать следующие коды:
    %a Сокращенное название дня недели
    %A Полное название дня недели
    %b Сокращенное название месяца
    %B Полное название месяца
    %c Предпочтительный формат даты и времени
    %C Номер века
    %d День месяца (1-31)
    %D То же, что и %m/%d/%y
    %e Месяц (1-12)
    %h То же, что и %b
    %H Часы (24-часовой формат)
    %I Часы (12-часовой формат)
    %j День года (0-365)
    %m Месяц (1-12)
    %M Минуты
    %n Символ новой строки
    %p Включено обозначение "am" или "pm"
    %r Время с использованием a.m./p.m.-нотации
    %R Время в 24-часовом формате
    %S Секунды (00-59)
    %t Символ табуляции
    %T То же, что и %H:%M:%S
    %u Номер дня недели (1 - понедельник, 7 - воскресенье)
    %U Номер недели. Отсчет начинается с первого воскресенья года
    %V Номер недели по ISO 8601:1988. Первая неделя должна иметь не менее четырех дней, а понедельник считается первым днем
    %W Номер недели. Отсчет начинается с первого понедельника года
    %w Номер дня недели (0 - воскресенье, 6 - суббота)
    %x Предпочтительный формат даты без времени
    %X Предпочтительный формат времени без даты
    %y Год (два разряда)
    %Y Год (четыре разряда)
    %Z Часовой пояс (имя или сокращение)
    %% Символ "%"

    Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку.

Вероятно, еще у многих сохранилось в памяти то время, когда с поражающей быстротой размножались любительские сайты на площадках Narod.ru и Boom.ru. Были и другие. Сегодня возможность создать свой сайт бесплатно предлагает компания Jimdo . С помощью бесплатного конструктора можно создать сайт, добавить к нему своих друзей, получить свободное пространство для показа свыше десяти тысяч картинок, видео с YouTube, а так же собственный блог, гостевую книгу и многое другое.

Для подключения к сервису и получения своего доменного имени (домен третьего уровня на jimdo.com) достаточно зарегистрироваться и уже через несколько минут иметь возможность работать над сайтом.

Построение сайта основано на использовании шаблона. Он общий для всех страниц. Внешний вид сайта, доступный посетителям, почти не отличается от внешнего вида, доступного в режиме редактирования. Получается, что то, что у вы будете изменять и просматривать в режиме правки, автоматически станет доступным и для посетителей. Отличие – в присутствии панели команд и дополнительных управляющих элементов у каждого информационного или служебного блока.

В распоряжение пользователя предоставлено свыше восьмидесяти различных шаблонов. Можно выбрать любой из них и, что немаловажно, можно в любой момент заменить один шаблон на другой без ущерба для уже внесенной на страницы вашего сайта информации. С помощью шаблона формируются области сайта. В Jimdo-шаблонах таких областей четыре: «Content», «Navigation», «Sidebar» и «Footer», и они являются обязательными. В бесплатной версии нельзя также изменять размеры областей – они жестко определены в каждом шаблоне и не могут быть изменены.

Тем, кто более близко знаком с языком HTML можно рекомендовать создание собственного шаблона в рамках тех областей, которые были названы выше (полностью самостоятельный шаблон в рамках бесплатной версии создать нельзя).

Для добавления новых страниц достаточно добавить название страницы в блок навигации (меню). После сохранения изменений переход на любую страницу осуществляется через само меню. Доступны дополнительные настройки стиля. С их помощью настраиваются характеристики основного текста, двух типов заголовков, разделители и ссылки. Ну а если нет желания что-то выдумывать, можно выбрать один из четырех уже готовых стилей.

Процесс наполнения страниц заключается в добавлении нужных элементов – текстовых полей и изображений, таблиц и заголовков. Всего таких элементов девятнадцать. Их можно разместить на любом месте веб-страницы в любом количестве (лишь бы уместились). Если выбрать любой элемент, станут доступны элементы управления, с помощью которых можно перемещать элемент, добавлять новый или удалять текущий. А если щелкнуть по элементу, откроется панель настроек.

Наиболее интересные элементы, которые можно использовать при формировании страниц в Jimdo: элемент Flickr – позволяет показать Flickr-фотки на своей страничке. При этом неважно, с какого Flickr-аккаунта они будут взяты; элемент Jimdo – позволяет добавить на страничку «кнопку дружбы», показать своих друзей и показать историю обновления своей страницы; элемент Google Maps и другие.

Обязательно следует обратить внимание на раздел «Настройки». Здесь есть большое количество инструментов, позволяющих придать вашему сайту дополнительную функциональность. В бесплатной версии есть и элементы управления магазином. Среди них – настройка валюты и способов оплаты, условий доставки и возврата, отправка сообщений при поступлении заказа и отгрузке товара.




Top