-Приложения

  • Перейти к приложению Открытки ОткрыткиПерерожденный каталог открыток на все случаи жизни
  • Перейти к приложению Я - фотограф Я - фотографПлагин для публикации фотографий в дневнике пользователя. Минимальные системные требования: Internet Explorer 6, Fire Fox 1.5, Opera 9.5, Safari 3.1.1 со включенным JavaScript. Возможно это будет рабо
  • Все на карте

 -Поиск по дневнику

Поиск сообщений в Net-man

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 20.04.2010
Записей: 814
Комментариев: 5985
Написано: 11575


Уроки по PHP: Дата и время в PHP

Понедельник, 11 Апреля 2011 г. 21:13 + в цитатник

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

 
  • time( ) - возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX).
  • getdate( ) - считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:
    seconds Секунды (0-59)
    minutes Минуты (0-59)
    hours Часы (0-23)
    mday День месяца (1-31)
    wday День недели (0-6), начиная с воскресенья
    mon Месяц (1-12)
    year Год
    yday День года (0-365)
    weekday Название дня недели (например, Friday)
    month Название месяца (например, January)
    0 Абсолютное время

    Пример 1

    <html>
    <head>
    <title>Использование getdate()</title>
    </head>
    <body>
    <?php
    $d = getdate(); // использовано текущее время
    foreach ( $d as $key => $val )
    echo "$key = $val";
    echo "Сегодня: $d[mday].$d[mon].$d[year]";
    ?>
    </body>
    </html>
    
    РЕЗУЛЬТАТ ПРИМЕРА 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 Включено обозначение "am" или "pm"
    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 Номер дня недели (0 - воскресенье, 6 - суббота)
    y Год (два разряда)
    Y Год (четыре разряда)
    z День года (0-365)
    Z Смещение часового пояса в секундах (от -43200 до 43200)

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

    Пример 2

    <html>
    <head>
    <title>Использование date()</title>
    </head>
    <body>
    <?php
    echo date( "Сегодня d.m.y H:i" );
    ?>
    </body>
    </html>
    
    РЕЗУЛЬТАТ ПРИМЕРА 2:
    Сегодня: 10.11.05 13:03
  • mktime( ) - возвращает абсолютное время, которое затем можно использовать с функциями date() или getdate(). Принимает до шести целочисленных аргументов в следующем порядке:

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

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

    Например:

    if ( !checkdate( $month, 1, $year ) )
     {
     $d = getdate();
     $month = $d[mon];
     $year = $d[year];
     }
    

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

  • strftime( ) - формирование локальной даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. При этом названия месяцев и дней недели извлекается из локали, выбранной с помощью функции setlocate( ) Строка формата может содержать следующие коды:
    %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 Часовой пояс (имя или сокращение)
    %% Символ "%"

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

    Пример 4

    <html>
    <head>
    <title>Использование strftime()</title>
    </head>
    <body>
    <?php
    echo strftime("%A %d %B %Y %H:%M");
    error_reporting(E_ALL & ~E_WARNING);
    setlocale('LC_ALL','');
    echo strftime("Сегодня %A %d %B %Y %X<br>");
    echo strftime("%Z");
    ?>
    </body>
    </html>
    
    РЕЗУЛЬТАТ ПРИМЕРА 4:
    Tuesday 15 November 2005 13:11 Сегодня вторник 15 Ноябрь 2005 13:11:14 Московское время (зима)

     


  • Еще примеры:

    date("l dS of F Y h:i:s A") :
    
    Saturday 25th 2009f July 2009 01:22:24 PM

    date("Сегодня d.m.Y") :
    
    Сегодня 25.07.2009

    date("Этот файл датирован d.m.Y", filectime(__FILE__)) :
    
    Этот файл датирован 15.02.2009

    // Активизируем текущую локаль (иначе дата будет на английском).
    setlocale(LC_ALL, '');
    // Выводим 2 предложения.
    echo strftime("%B %Y года, %d число.
     Был %A, часы показывали %H:%M.");
    
    July 2009 года, 25 число. Был Saturday, часы показывали 13:22.
    Очень интересное решение по нахождению вчерашнего дня написал Bermuda с PHP Club:

    $time = strtotime("-1 day");
    $fecha = date("Y-m-d", $time);
    
    2009-07-24
      Источник: htmlweb.ru/php/php_date.php

     

    Рубрики:  Полезное
    Уроки по PHP
    Метки:  

    Процитировано 2 раз

    Aralis   обратиться по имени Понедельник, 11 Апреля 2011 г. 21:52 (ссылка)
    спасибо большое, отличная информация. Особенно для меня, ведь мне еще многому надо подучиться... Времени бы хватило...
    Ответить С цитатой В цитатник
    Перейти к дневнику

    Понедельник, 11 Апреля 2011 г. 22:09ссылка
    Aralis, на здоровье)
    Нельвиг   обратиться по имени Вторник, 12 Апреля 2011 г. 20:41 (ссылка)
    По-моему,я большой чайник...увы
    Ответить С цитатой В цитатник
    Перейти к дневнику

    Вторник, 12 Апреля 2011 г. 22:48ссылка
    Нельвиг, да уж, и мне это это даётся с большим-большим трудом((..
     

    Добавить комментарий:
    Текст комментария: смайлики

    Проверка орфографии: (найти ошибки)

    Прикрепить картинку:

     Переводить URL в ссылку
     Подписаться на комментарии
     Подписать картинку