Определение текущей даты и времени

Задача
Необходимо узнать текущее время или дату.

Решение
Для получения отформатированной строки времени предназначена функция strftime() или date():

print strftime('%c');
print date('r');
Mon Aug 12 18:23:45 2002
Mon, 12 Aug 2002 18:23:45 -0400


Функции getdate() и localtime() позволяют получить отдельные части времени:

$now_1 = getdate();
$now_2 = localtime();
print "$now_1[hours]:$now_1[minutes]:$now_1[seconds]";
print "$now_2:$now_2:$now_2[0]";
18:23:45
18:23:45


Обсуждение
Функции strftime() и date() могут выработать множество отформатированных строк времени или даты и рассматриваются в рецепте 3.4. Напротив, и функция localtime(), и функция getdate() возвращают массив, элементами которого являются отдельные части даты и времени. Следующий пример показывает, как использовать функцию getdate() для вывода на печать месяца, дня и года.

$a = getdate();
printf('%s %d, %d',$a['month'],$a['mday'],$a['year']);
August 7, 2002


Передайте фунции getdate() метку времени UNIX в качестве аргумента, чтобы обеспечить соответствие значений массива локальному времени данной временной метки. Например, месяц, день и год, соответствующие метке времени UNIX, равной 163727100, это:

$a = getdate(163727100);
printf('%s %d, %d',$a['month'],$a['mday'],$a['year']);
March 10, 1975


Функция localtime() возвращает массив частей времени и даты. Кроме того, она принимает метку времени UNIX в качестве необязательного первого аргумента, а также логическое значение в качестве необязательного второго аргумента. Если этот второй аргумент равен true, то функция localtime() возвращает ассоциативный массив вместо массива с числовым индексом. Ключи этого массива совпадают с членами структуры tm_struct, возвращаемой функцией языка C localtime(). Следующий пример показывает, как использовать функцию localtime() для вывода на печать текущей даты в формате месяц/число/год:

$a = localtime();
$a += 1;
$a += 1900;
print "$a/$a/$a";
8/7/2002


Перед выводом на печать значение месяца увеличивается на 1, так как функция localtime() начинает отсчет месяцев с 0 для января, а мы хотим видеть 1, если текущий месяц январь. Таким же образом год увеличивается на 1900, поскольку функция localtime() начинает отсчет лет с 0 для 1900-го. Подобно getdate(), функция localtime() принимает метку времени UNIX в качестве необязательного первого аргумента и возвращает части времени для этой временной метки:

$a = localtime(163727100);
$a += 1;
$a += 1900;
print "$a/$a/$a";
3/10/1975
Теги:
localtime, времени, getdate, функция, print, качестве, аргумента, strftime, массива, массив, 2002 , метку, месяц, возвращает, печать, необязательного, части, месяца, вывода, функцию, использовать, показывает, метки, printf, month, принимает, первого, увеличивается, начинает, отсчет, пример, текущей, Функции, Напротив, языка
Добавлено: 20 Июля 2018 21:37:49 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...