Одной из самых востребованных групп операторов при работе с таблицами Excel являются функции даты и времени. Именно с их помощью можно проводить различные манипуляции с временными данными. Дата и время зачастую проставляется при оформлении различных журналов событий в Экселе. Проводить обработку таких данных – это главная задача вышеуказанных операторов. Давайте разберемся, где можно найти эту группу функций в интерфейсе программы, и как работать с самыми востребованными формулами данного блока.
Работа с функциями даты и времени
Группа функций даты и времени отвечает за обработку данных, представленных в формате даты или времени. В настоящее время в Excel насчитывается более 20 операторов, которые входят в данный блок формул. С выходом новых версий Excel их численность постоянно увеличивается.
Любую функцию можно ввести вручную, если знать её синтаксис, но для большинства пользователей, особенно неопытных или с уровнем знаний не выше среднего, намного проще вводить команды через графическую оболочку, представленную Мастером функций с последующим перемещением в окно аргументов.
- Для введения формулы через Мастер функций выделите ячейку, где будет выводиться результат, а затем сделайте щелчок по кнопке «Вставить функцию». Расположена она слева от строки формул.
- После этого происходит активация Мастера функций. Делаем клик по полю «Категория».
- Из открывшегося списка выбираем пункт «Дата и время».
- После этого открывается перечень операторов данной группы. Чтобы перейти к конкретному из них, выделяем нужную функцию в списке и жмем на кнопку «OK». После выполнения перечисленных действий будет запущено окно аргументов.
Кроме того, Мастер функций можно активировать, выделив ячейку на листе и нажав комбинацию клавиш Shift+F3. Существует ещё возможность перехода во вкладку «Формулы», где на ленте в группе настроек инструментов «Библиотека функций» следует щелкнуть по кнопке «Вставить функцию».
Имеется возможность перемещения к окну аргументов конкретной формулы из группы «Дата и время» без активации главного окна Мастера функций. Для этого выполняем перемещение во вкладку «Формулы». Щёлкаем по кнопке «Дата и время».
Она размещена на ленте в группе инструментов «Библиотека функций». Активируется список доступных операторов в данной категории. Выбираем тот, который нужен для выполнения поставленной задачи.
После этого происходит перемещение в окно аргументов.
Урок: Мастер функций в Excel
ДАТА
Одной из самых простых, но вместе с тем востребованных функций данной группы является оператор ДАТА. Он выводит заданную дату в числовом виде в ячейку, где размещается сама формула.
Его аргументами являются «Год», «Месяц» и «День». Особенностью обработки данных является то, что функция работает только с временным отрезком не ранее 1900 года.
Поэтому, если в качестве аргумента в поле «Год» задать, например, 1898 год, то оператор выведет в ячейку некорректное значение. Естественно, что в качестве аргументов «Месяц» и «День» выступают числа соответственно от 1 до 12 и от 1 до 31.
В качестве аргументов могут выступать и ссылки на ячейки, где содержатся соответствующие данные.
Для ручного ввода формулы используется следующий синтаксис:
=ДАТА(Год;Месяц;День)
Близки к этой функции по значению операторы ГОД, МЕСЯЦ и ДЕНЬ. Они выводят в ячейку значение соответствующее своему названию и имеют единственный одноименный аргумент.
РАЗНДАТ
Своего рода уникальной функцией является оператор РАЗНДАТ. Он вычисляет разность между двумя датами. Его особенность состоит в том, что этого оператора нет в перечне формул Мастера функций, а значит, его значения всегда приходится вводить не через графический интерфейс, а вручную, придерживаясь следующего синтаксиса:
=РАЗНДАТ(нач_дата;кон_дата;единица)
Из контекста понятно, что в качестве аргументов «Начальная дата» и «Конечная дата» выступают даты, разницу между которыми нужно вычислить. А вот в качестве аргумента «Единица» выступает конкретная единица измерения этой разности:
- Год (y);
- Месяц (m);
- День (d);
- Разница в месяцах (YM);
- Разница в днях без учета годов (YD);
- Разница в днях без учета месяцев и годов (MD).
Урок: Количество дней между датами в Excel
ЧИСТРАБДНИ
В отличии от предыдущего оператора, формула ЧИСТРАБДНИ представлена в списке Мастера функций. Её задачей является подсчет количества рабочих дней между двумя датами, которые заданы как аргументы. Кроме того, имеется ещё один аргумент – «Праздники». Этот аргумент является необязательным.
Он указывает количество праздничных дней за исследуемый период. Эти дни также вычитаются из общего расчета. Формула рассчитывает количество всех дней между двумя датами, кроме субботы, воскресенья и тех дней, которые указаны пользователем как праздничные.
В качестве аргументов могут выступать, как непосредственно даты, так и ссылки на ячейки, в которых они содержатся.
Синтаксис выглядит таким образом:
=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])
ТДАТА
Оператор ТДАТА интересен тем, что не имеет аргументов. Он в ячейку выводит текущую дату и время, установленные на компьютере. Нужно отметить, что это значение не будет обновляться автоматически.
Оно останется фиксированным на момент создания функции до момента её перерасчета. Для перерасчета достаточно выделить ячейку, содержащую функцию, установить курсор в строке формул и кликнуть по кнопке Enter на клавиатуре.
Кроме того, периодический пересчет документа можно включить в его настройках. Синтаксис ТДАТА такой:
=ТДАТА()
СЕГОДНЯ
Очень похож на предыдущую функцию по своим возможностям оператор СЕГОДНЯ. Он также не имеет аргументов. Но в ячейку выводит не снимок даты и времени, а только одну текущую дату. Синтаксис тоже очень простой:
=СЕГОДНЯ()
Эта функция, так же, как и предыдущая, для актуализации требует пересчета. Перерасчет выполняется точно таким же образом.
ВРЕМЯ
Основной задачей функции ВРЕМЯ является вывод в заданную ячейку указанного посредством аргументов времени. Аргументами этой функции являются часы, минуты и секунды.
Они могут быть заданы, как в виде числовых значений, так и в виде ссылок, указывающих на ячейки, в которых хранятся эти значения. Эта функция очень похожа на оператор ДАТА, только в отличии от него выводит заданные показатели времени.
Величина аргумента «Часы» может задаваться в диапазоне от 0 до 23, а аргументов минуты и секунды – от 0 до 59. Синтаксис такой:
=ВРЕМЯ(Часы;Минуты;Секунды)
Кроме того, близкими к этому оператору можно назвать отдельные функции ЧАС, МИНУТЫ и СЕКУНДЫ. Они выводят на экран величину соответствующего названию показателя времени, который задается единственным одноименным аргументом.
ДАТАЗНАЧ
Функция ДАТАЗНАЧ очень специфическая. Она предназначена не для людей, а для программы.
Её задачей является преобразование записи даты в обычном виде в единое числовое выражение, доступное для вычислений в Excel. Единственным аргументом данной функции выступает дата как текст.
Причем, как и в случае с аргументом ДАТА, корректно обрабатываются только значения после 1900 года. Синтаксис имеет такой вид:
=ДАТАЗНАЧ (дата_как_текст)
ДЕНЬНЕД
Задача оператора ДЕНЬНЕД – выводить в указанную ячейку значение дня недели для заданной даты. Но формула выводит не текстовое название дня, а его порядковый номер. Причем точка отсчета первого дня недели задается в поле «Тип».
Так, если задать в этом поле значение «1», то первым днем недели будет считаться воскресенье, если «2» — понедельник и т.д. Но это не обязательный аргумент, в случае, если поле не заполнено, то считается, что отсчет идет от воскресенья.
Вторым аргументом является собственно дата в числовом формате, порядковый номер дня которой нужно установить. Синтаксис выглядит так:
=ДЕНЬНЕД(Дата_в_числовом_формате;[Тип])
НОМНЕДЕЛИ
Предназначением оператора НОМНЕДЕЛИ является указание в заданной ячейке номера недели по вводной дате. Аргументами является собственно дата и тип возвращаемого значения. Если с первым аргументом все понятно, то второй требует дополнительного пояснения.
Дело в том, что во многих странах Европы по стандартам ISO 8601 первой неделей года считается та неделя, на которую приходится первый четверг. Если вы хотите применить данную систему отсчета, то в поле типа нужно поставить цифру «2».
Если же вам более по душе привычная система отсчета, где первой неделей года считается та, на которую приходится 1 января, то нужно поставить цифру «1» либо оставить поле незаполненным. Синтаксис у функции такой:
=НОМНЕДЕЛИ(дата;[тип])
ДОЛЯГОДА
Оператор ДОЛЯГОДА производит долевой расчет отрезка года, заключенного между двумя датами ко всему году. Аргументами данной функции являются эти две даты, являющиеся границами периода. Кроме того, у данной функции имеется необязательный аргумент «Базис».
В нем указывается способ вычисления дня. По умолчанию, если никакое значение не задано, берется американский способ расчета. В большинстве случаев он как раз и подходит, так что чаще всего этот аргумент заполнять вообще не нужно.
Синтаксис принимает такой вид:
=ДОЛЯГОДА(нач_дата;кон_дата;[базис])
Мы прошлись только по основным операторам, составляющим группу функций «Дата и время» в Экселе. Кроме того, существует ещё более десятка других операторов этой же группы.
Как видим, даже описанные нами функции способны в значительной мере облегчить пользователям работу со значениями таких форматов, как дата и время. Данные элементы позволяют автоматизировать некоторые расчеты.
Например, по введению текущей даты или времени в указанную ячейку. Без овладения управлением данными функциями нельзя говорить о хорошем знании программы Excel.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ
Источник: https://lumpics.ru/functions-date-and-time-in-excel/
Функции даты и времени в Excel — Microsoft Excel для начинающих
Чтобы ввести дату в Excel, используйте символы “/” или “-“. Чтобы ввести время, используйте “:” (двоеточие). Вы можете ввести дату и время в одной ячейке.
Примечание: На рисунках данной статьи представлены даты в формате США и ряда других стран, где сперва идут месяцы, а затем дни. Тип формата зависит от ваших региональных настроек Windows. Здесь вы можете получить дополнительную информацию о форматах даты и времени.
ГОД, МЕСЯЦ, ДЕНЬ
Чтобы получить год даты, используйте функцию ГОД (YEAR):
=ГОД(A1)
=YEAR(A1)
Примечание: Используйте функции МЕСЯЦ (MONTH) и ДЕНЬ (DAY), чтобы получить месяц и день даты.
Функция ДАТА
- Чтобы добавить несколько дней к дате, используйте следующую формулу:
- Чтобы прибавить годы, месяцы и/или дни, используйте функцию ДАТА (DATE):
=ДАТА(ГОД(A1)+4;МЕСЯЦ(A1)+2;ДЕНЬ(A1)+9)
=DATE(YEAR(A1)+4,MONTH(A1)+2,DAY(A1)+9)
Примечание: Функция ДАТА (DATE) принимает три аргумента: год, месяц и день. Excel знает, что 6+2=8 – это август. Как известно в августе 31 день, поэтому программа переходит к следующему месяцу (23 августа + 9 дней = 1 сентября).
Текущая дата и время
Чтобы получить текущую дату и время, используйте функцию ТДАТА (NOW):
=ТДАТА()
=NOW()
Примечание: Используйте функцию СЕГОДНЯ (TODAY), чтобы получить только текущую дату. Чтобы получить только текущее время, используйте следующую формулу (не забудьте применить к ячейке формат времени):
=ТДАТА()-СЕГОДНЯ()
=NOW()-TODAY()
ЧАС, МИНУТЫ, СЕКУНДЫ
Чтобы вернуть часы, используйте функцию ЧАС (HOUR):
=ЧАС(A1)
=HOUR(A1)
Примечание: Используйте функции МИНУТЫ (MINUTE) и СЕКУНДЫ (SECOND), чтобы вернуть минуты и секунды соответственно.
Функция ВРЕМЯ
Чтобы прибавить часы, минуты и/или секунды, используйте функцию ВРЕМЯ (TIME):
=ВРЕМЯ(ЧАС(A1)+2;МИНУТЫ(A1)+10;СЕКУНДЫ(A1)+70)
=TIME(HOUR(A1)+2,MINUTE(A1)+10,SECOND(A1)+70)
Примечание: Excel прибавит 2 часа, 10+1 = 11 минут и 70-60 = 10 секунд.
Оцените качество статьи. Нам важно ваше мнение:
Источник: https://office-guru.ru/excel/funkcii-daty-i-vremeni-v-excel-389.html
Функция работы с временем (ВРЕМЯ)
Добрый день уважаемый пользователь!
В этой статье я научу вас применять функцию работы с временем (ВРЕМЯ). Эта функция очень удобно использовать специалистам, которые тесно связанные с временными расчётами, например, экономист нормировщик.
Из личного опыта скажу, что работа с этой функцией помогла мне, когда на заводе вводили новую линию по упаковке продукции, и пришлось нормировать затраченное время на нее персоналом.
Что помогло в дальнейшем для корректного расчёта времени, которое нужно что бы выполнить заказ.
Данная функция переводит значение секунд, минут и часов в формат времени, но если в ячейке установлен формат «Общий», то результат получится в формате дата.
При числовом формате времени, которое вернет функция ВРЕМЯ, мы получаем десятичное число, составляющее интервал от 0 (00:00:00) до 0,99988426 (23:59:59). То есть результат формулы =ВРЕМЯ(9;15;0) мы получим как 9:15 утра или 0,3854167.
Синтаксис функции:
= ВРЕМЯ(_часы_;_минуты_;_секунды_), где:
- Часы – является обязательным аргументом и указывается число от 0 до 32767, которое и задает часы. В случаях, когда значение этого аргумента больше чем 23 оно разделяется на отрезки в 24 часа и остаток от произведенного деления будет аналогичен значению часов. Пример: ВРЕМЯ(33;0;0)= ВРЕМЯ(9;0;0)=0,375, то есть 09:00 утра;
- Минуты — является обязательным аргументом и указывается число от 0 до 32767, которое и задает минуты. В случаях, когда значение этого аргумента больше чем 59, то произведется пересчёт в минуты и часы. Пример: ВРЕМЯ(0;270;0) = ВРЕМЯ(04;30;0) = 0,1875, то есть 04:30 утра;
- Секунды — является обязательным аргументом и указывается число от 0 до 32767, которым задаются секунды. В случаях, когда значение этого аргумента больше чем 59, то произведется пересчёт в минуты, часы и секунды. Пример: ВРЕМЯ(0;0;14000) = ВРЕМЯ(03;53;20) = 0,1620370, то есть 03:53:20 ночи.
Пример №1: Использование ссылок для формирования времени.
При использовании формулы =ВРЕМЯ(B2;C2;D2) получим время в числовом формате 0,925833 вместо 22:13:12. Для получения значения в правильном формате, вызываем контекстное меню правой кнопкой мыши, выбираем пункт «Формат ячеек», указываем формат «Время» и в окне «Тип» нужный формат.
Пример №2: Расчёт количества секунд.
У нас есть время 00:07:12, то есть 7 мин и 12 секунд. Узнаем сколько же секунд, содержится в этом времени.
Для начала определим числовое значение нашего времени, оно соответствует числу 0,005.
Следующий шаг, это определить числовое значение 1 секунды. Поможет в этом формула = 1/24/60/60.
Теперь для получения результата нам нужна формула =F8/(1/24/60/60) которая и сосчитает, сколько же секунд и состоит в 7 мин и 12 сек, результат получим 432 секунды. Пример №3: добавляем минуты к времени.
У нас есть определенное время, к примеру, время отбытия автобуса происходит в 10:25 утра, длина маршрута составляет 85 мин. Необходимо узнать, во сколько произойдет прибытие автобуса?
Для получения результата воспользуемся формулой =E10+ВРЕМЯ(;F10;), где, E10 – время отбытия, а F10 – время проезда. Результат получим 11:50:00 – время расчётного прибытия автобуса на конечную остановку.
Я надеюсь, что описание как применять функцию работы с временем (ВРЕМЯ) в Excel, вам стало более понятно, в чем рассматриваемые примеры вам должны помочь. Замечания и предложения жду от вас в х, если понравилось, поделитесь с другими в соц.сетях.
С другими функциями MS Excel вы можете ознакомиться в «Справочнике функций».
До встречи на страницах TopExcel.ru!
За деньги нельзя купить любовь, но можно улучшить исходные позиции для торга. Лоренс Питер
Статья помогла? Поделись ссылкой с друзьями, твитни или лайкни!
Источник: http://topexcel.ru/funkciya-raboty-s-vremenem-vremya/
Функции дата и время Excel
В данной статье будут рассмотрены функции для обработки значений, представляющие дату и время:
Функция ВРЕМЯ
Возвращает значение времени, составленное из отдельных частей, заданных числами.Синтаксис: =ВРЕМЯ(часы; минуты; секунды), где
- Часы – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1 до 24.
- Минуты – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1 до 60.
- Секунды – аналогично минутам.
Функция ВРЕМЯ не может возвращать значение от 24 и выше, т.е. если для аргумента «Часы» задать число 25, то результатом будет 1 час.
Пример использования:На изображении приведены несколько вариантов использования данной функции. Видно, если показатель секунд превышает значение 60, то его часть перекидывается на минуты. То же самое произойдет, если будет превышен показатель для минут. Если превышен показатель для аргумента, принимающего часы, то он просто будет отображать время на 24 часа меньше заданного.
Функция ДАТА
Возвращает значение даты, составленное из отдельных частей, заданных числами.Синтаксис: =ДАТА(год; месяц; день), где
- Год – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1900 до 9999.
- Месяц – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1 до 12.
- День – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1 до 31.
Если для аргумента «День» задать число, превышающее количество дней в указанном месяце, то лишние дни будут переданы на следующие месяцы, т.е. если для января указать 32 дня, то функция вернет 1 февраля.
Пример использования:Обратите внимание на пример таблицы. Последние 2 строки возвращают одинаковый результат. Т.к. минимальная дата, которая может быть представлена в Excel, имеет 1900 год, то ко всем числам, которые переданы аргументу «Год» и меньше минимального года, то к ним автоматически прибавляется 1900.
Функция ГОД
Возвращает число, представляющее год указанной даты.Синтаксис: =ГОД(дата), где «дата» является обязательным аргументом и принимает числовое значение даты либо ссылку на такое значение.Пример использования:
=ГОД(«08.10.2013») – возвращаемый результат 2013.
=ГОД(41555) – так же возвращаемый результат 2013, т.к. 41555 является числовым представление даты 08 октября 2013.
Функция МЕСЯЦ
Возвращает число, представляющее месяц указанной даты.Синтаксис: =МЕСЯЦ(дата), где «дата» является обязательным аргументом и принимает числовое значение даты либо ссылку на такое значение.
Пример использования:=МЕСЯЦ(«01.01.2001») – возвращаемый результат 1.=МЕСЯЦ(36892) – так же возвращаемый результат 1, т.к. 36892 является числовым представление даты 01.01.2001.
Функция ДЕНЬ
Возвращает число, представляющее день указанной даты.Синтаксис: =ДЕНЬ(дата), где «дата» является обязательным аргументом и принимает числовое значение даты либо ссылку на такое значение.
Пример использования:=ДЕНЬ
Источник: https://office-menu.ru/uroki-excel/13-uverennoe-ispolzovanie-excel/44-funktsii-data-i-vremya-excel
Функции даты и времени в php программировании
На уроке рассмотрены функции языка php для работы с датой и временем: date(), getdate(), time(), mktime()
Функции даты и функции времени php
Функции даты и времени в PHP позволяют получить дату и время с сервера, с которого запускается сценарий.
Рассмотрим основные функции даты и функции времени php.
Функция date в php
date($format);
Данная функция возвращает строку в виде даты и/или времени в указанном формате ($format). Шаблон формата указывается в качестве аргумента функции.
Рассмотрим варианты символов, которые распознаются в параметре формат:
Функция даты php |
||
День | ||
d | День месяца: две цифры с первым нулём | от 01 до 31 |
D | День недели в словесном представлении, 3 символа | от Mon до Sun |
j | День месяца без первого нуля | от 1 до 31 |
l (строчная «L») | Полное словесное название дня недели | от Sunday до Saturday |
N | Порядковый номер дня недели | от 1 (понедельник) до 7 (воскресенье) |
S | Сокращение порядкового числительного дня месяца: два символа | st, nd, rd или th. Применяется вместе с j |
w | Порядковый номер дня недели | от 0 (воскресенье) до 6 (суббота) |
z | Порядковый номер дня в году (начиная с 0) | От 0 до 365 |
Неделя | ||
W | Порядковый номер недели года: недели начинаются с понедельника | 33 (33-я неделя года) |
Месяц | ||
F | Полное словесное название месяца, например May | от January до December |
m | Порядковый номер месяца с первым нулём | от 01 до 12 |
M | Сокращенное словесное название месяца: три символа | от Jan до Dec |
n | Порядковый номер месяца без первого нуля | от 1 до 12 |
t | Количество дней в указанном месяце | от 28 до 31 |
Год | ||
L | Указывает на високосный год | 1, если год високосный, иначе 0. |
o | Номер года | 1999 или 2003 |
Y | Порядковый номер года: четыре цифры | 1998, 2008 |
y | Номер года: две цифры | 98, 08 |
Функции времени php | ||
a | Ante meridiem (с англ. «до полудня») или Post meridiem (с англ. «после полудня») | am или pm |
A | Ante meridiem или Post meridiem заглавными буквами | AM или PM |
B | Время в формате Интернет-времени | от 000 до 999 |
g | Часы в 12-часовом формате без первого нуля | от 1 до 12 |
G | Часы в 24-часовом формате без первого нуля | от 0 до 23 |
h | Часы в 12-часовом формате с первым нулём | от 01 до 12 |
H | Часы в 24-часовом формате с первым нулём | от 00 до 23 |
i | Минуты с первым нулём | от 00 до 59 |
s | Секунды с первым нулём | от 00 до 59 |
u | Микросекунды | Например, 654321 |
v | Миллисекунды | Например, 654 |
Временная зона | ||
e | Код шкалы временной зоны | Например, UTC, GMT |
I (заглавная i) | Признак летнего времени | 1, если дата соответствует летнему времени, 0 в противном случае. |
Полная дата/время | ||
c | Дата в формате, указанном в примере | 2006-05-12T15:19:21+00:00 |
r | Дата в формате, указанном в примере | Например: Thu, 23 Dec 2010 18:05:07 +0200 |
U | Количество секунд, прошедших с начала Эпохи Unix (с 1 января 1970 00:00:00 GMT) | — |
Пример:
1 2 3 4 5 6 7 8 |
// выведет день недели в формате: Saturday echo date(«l»); // выведет дату в формате 2017-01-28 echo date('Y-m-d'); // выведет дату и время в формате: Saturday 8th of August 2016 06:13:44 PM echo date('l jS of F Y h:i:s A'); |
// выведет день недели в формате: Saturday echo date(«l»); // выведет дату в формате 2017-01-28 echo date('Y-m-d'); // выведет дату и время в формате: Saturday 8th of August 2016 06:13:44 PM echo date('l jS of F Y h:i:s A');
time — возвращает количество секунд, прошедших с начала Эпохи Unix (c 1 января 1970 00:00:00 GMT) до текущего времени
Функция не предназначена для вывода результата в виде даты или времени, а используется совместно с другими функциями.
Пример использования функции в «чистом виде»:
$now = time(); // метка текущей даты echo $now; // выведет что-то типа 1485618140 $nextWeek = time() + (7 * 24 * 60 * 60); // 7 дней; 24 часа; 60 минут; 60 секунд echo $nextWeek; // выведет что-то типа 1486222940 |
$now = time(); // метка текущей даты echo $now; // выведет что-то типа 1485618140 $nextWeek = time() + (7 * 24 * 60 * 60); // 7 дней; 24 часа; 60 минут; 60 секунд echo $nextWeek; // выведет что-то типа 1486222940
Функция используется совместно с функцией date():
Пример: вывести текущую дату (два способа) и затем дату, которая должна быть ровно через неделю
Выполнение:
1 2 3 4 5 6 7 8 9 10 11 |
$now = time(); $nextWeek = time() + (7 * 24 * 60 * 60); // Сейчас: 2017-01-28 echo 'Сейчас: '. date('Y-m-d') .» «; // Сейчас: 2017-01-28 echo 'Сейчас: '. date('Y-m-d', $now) .» «; // Следующая неделя: 2017-02-04 echo 'Следующая неделя: '. date('Y-m-d', $nextWeek) .» «; |
$now = time(); $nextWeek = time() + (7 * 24 * 60 * 60); // Сейчас: 2017-01-28 echo 'Сейчас: '. date('Y-m-d') .»
«; // Сейчас: 2017-01-28 echo 'Сейчас: '. date('Y-m-d', $now) .»
«; // Следующая неделя: 2017-02-04 echo 'Следующая неделя: '. date('Y-m-d', $nextWeek) .»
«;
Функция используется совместно с функцией mktime:
mktime — возвращает метку времени Unix для указанной даты
Аргументы:
int mktime ([ int $hour = date(«H») [, int $minute = date(«i»)
[, int $second = date(«s») [, int $month = date(«n»)
[, int $day = date(«j») [, int $year = date(«Y»)
[, int $is_dst = -1 ]]]]]]] )
Аргументы могут быть опущены в порядке справа налево.
Рис. 6.1. Использование функции mktime и date
Пример: вывести на экран текущие полную дату и время, затем дату и время завтрашнего дня, следующего месяца того же дня и той же даты прошлого года
Выполнение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//Вывод текущей даты и времени echo date(«r»); //Sat, 28 Jan 2017 19:58:45 +0400 // создаем метку для «завтра» $tomorrow = mktime(0,0,0,date(«m»),date(«d»)+1, date(«Y»)); echo date(«r», $tomorrow); // Sun, 29 Jan 2017 00:00:00 +0400 // создаем метку для «следующий месяц» $nextmonth = mktime(0,0,0,date(«m»)+1,date(«d»), date(«Y»)); echo date(«r», $nextmonth ); //Tue, 28 Feb 2017 00:00:00 +0400 // создаем метку для «прошлый год» $lastyear= mktime(0,0,0,date(«m»)+1,date(«d»), date(«Y»)-1); echo date(«r», $lastyear); //Sun, 28 Feb 2016 00:00:00 +0400 |
//Вывод текущей даты и времени echo date(«r»); //Sat, 28 Jan 2017 19:58:45 +0400 // создаем метку для «завтра» $tomorrow = mktime(0,0,0,date(«m»),date(«d»)+1, date(«Y»)); echo date(«r», $tomorrow); // Sun, 29 Jan 2017 00:00:00 +0400 // создаем метку для «следующий месяц» $nextmonth = mktime(0,0,0,date(«m»)+1,date(«d»), date(«Y»)); echo date(«r», $nextmonth ); //Tue, 28 Feb 2017 00:00:00 +0400 // создаем метку для «прошлый год» $lastyear= mktime(0,0,0,date(«m»)+1,date(«d»), date(«Y»)-1); echo date(«r», $lastyear); //Sun, 28 Feb 2016 00:00:00 +0400
Задание 1
- Создайте строковую переменную now
- Создайте строковую переменную birthday
- Присвойте переменной now значение метки времени актуальной даты (сегодня)
- Присвойте переменной birthday значение метки времени Вашего дня рождения
Задание 2
- Выведите фразу «До моего дня рождения осталось «
- Выведите количество секунд, оставшееся до Вашего дня рождения
- Закончите фразу » секунд»
Дополните код:
Источник: https://labs-org.ru/php-6/
Функции даты и времени
Функции из этой категории позволяют использовать дату и время, производить преобразования в дату и время других величин, а так же анализировать внутри формул данные, связанные с датой и временем.
- ДАТА(DATE) — возвращает заданную дату в числовом формате Microsoft Excel:
=ДАТА(2010; 6; 20)
=DATE(2010, 6, 20)Год(year)(2010) — число, обозначающее год. Должно быть в интервале от 1900 до 2078.
Месяц(month)(6) — число, обозначающее номер месяца в году. Если месяц больше 12, то это число прибавляется к первому месяцу указанного года. Так, ДАТА(2010;14;4) вернет дату 4 марта 2011 года.
День(day)(20) — число, определяющее номер дня в месяце. Если день больше числа дней в указанном месяце, то это число будет прибавлено к первому дню указанного месяца. Например, ДАТА(2010;10;44) вернет дату 13 ноября 2010 года.
Аргументы месяц и день так же могут быть указаны и отрицательными числами. - ДАТАЗНАЧ(DATEVALUE) — Преобразует дату из текстового формата в числовой(понятный для Excel):
=ДАТАЗНАЧ(«20.6.2009»)
=ДАТАЗНАЧ(«20-ИЮН-09»)
=DATEVALUE(«6/20/2009»)обе функции вернут 39984.Чтобы лучше понимать назначение данной функции советую ознакомиться со статьей: Как Excel воспринимает данные?
Если в указанной текстом дате не указан год(«20.6»), то ДАТАЗНАЧ применит текущий год на основании системной даты ПК. Любая информация о времени(часы, минуты, секунды) этой функцией игнорируются. Чтобы преобразовать время необходимо воспользоваться функцией ВРЕМЗНАЧ(TIMEVALUE) - ДНЕЙ360(DAYS360) — Вычисляет количество дней между двумя датами на основе 360-дневного года (двенадцать 30-дневных месяцев). Может использоваться для расчета платежей, если бухгалтерия основана на двенадцати 30-дневных месяцах:
=ДНЕЙ360(нач_дата; кон_дата; метод)Нач_дата и кон_дата — даты, количество дней между которыми требуется узнать.
Метод — логическое значение для указания метода расчета при вычислениях. Если не указан, указан ЛОЖЬ(FALSE) или 0, то применяется Американский метод(NASD). Он основан на том, что если начальная дата является 31-м числом месяца, то она считается равной 30-ому числу того же месяца. Если конечная дата является 31-м числом месяца и начальная дата меньше, чем 30-ое число, то конечная дата считается равной 1-ому числу следующего месяца, в противном случае конечная дата считается равной 30-ому числу того же месяца. Если указан ИСТИНА(TRUE) или 1, то применяется Европейский метод. В этом случае начальная и конечная даты, которые приходятся на 31-ое число месяца, считаются равными 30-ому числу того же месяца.
=ДНЕЙ360(«30.11.13»; «7.12.13»)
=ДНЕЙ360(«30.11.13»; «7.12.13»; 1)
=ДНЕЙ360(A1; A2)все формулы вернут 7(при условии, что в A1 записана дата «30.11.13», а в A2 — «07.12.13»). - ДАТАМЕС(EDATE) — Находит дату, отстоящую на заданное число месяцев вперед или назад от указанной даты:
=ДАТАМЕС(нач_дата; число_месяцев)
=ДАТАМЕС(«15.01.16»; 1)
=ДАТАМЕС(«15.01.16»; -1)
=EDATE(«01/15/16», 1)нач_дата(«15.01.16») — дата или ссылка на ячейку с датой, от которой необходимо вычислить новую дату
число_месяцев(1) — целое число, определяющее количество месяцев до или после даты, указанной аргументом нач_дата. Если указано положительное число, то к указанной дате будет прибавлено указанное количество месяцев; если отрицательное — то из указанной даты будет вычтено указанное количество месяцев. Если указано не целое число, то от него отбрасывается дробная часть без применения округления(1,7 будет преобразовано в 1)
Замечание: для версий Excel ниже 2007 функция может быть недоступна. Если функции нет в списке, то следует установить надстройку Пакет Анализа(если она не установлена), а затем подключить его с помощью команды Сервис —Надстройки - КОНМЕСЯЦА(EOMONTH) — Определяет дату для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.
=КОНМЕСЯЦА(«01.01.2016»; 0)
=EOMONTH(«01.01.2016», 0)нач_дата(«01.01.2016») — ссылка на ячейку с датой либо непосредственно дата в числовом или текстовом формате.
число_месяцев(0) — число месяцев до или после даты, указанной аргументом нач_дата. Если указан 0, то будет возвращена дата последнего дня для месяца даты, указанной аргументом нач_дата. Любое положительное число прибавляет указанное кол-во месяцев от даты в нач_дата, а отрицательное — отнимает.
Замечание: для версий Excel ниже 2007 функция может быть недоступна. Если функции нет в списке, то следует установить надстройку Пакет Анализа(если она не установлена), а затем подключить его с помощью команды Сервис —Надстройки - ЧАС(HOUR) — возвращает количество часов для заданного значения времени:
=ЧАС(«15:30:30»)
=ЧАС(«10.04.2016 15:30:30»)
=ЧАС(0,646180555555556)
=ЧАС(6,646180555555556)
=ЧАС(«3:30:30 PM»)
=HOUR(«15:30:30»)все вышеприведенные формулы вернут число 15. В качестве аргумента можно задавать как время в текстовом формате(«15:30:30»), так и его эквивалент в виде дробной части(0,646180555555556). Так же можно указывать ссылку на ячейку, содержащую значение времени. Если вместе со временем указать дату(«10.04.2016 15:30:30»), то дата будет игнорироваться. Если число больше 1, то в расчет берется только дробная часть числа(0,646180555555556 и 6,646180555555556 вернут одинаковое значение)Чтобы лучше понимать работу данной функции советую ознакомиться со статьей: Как Excel воспринимает данные? - МИНУТЫ(MINUTE) — возвращает количество минут для заданного значения времени:
=МИНУТЫ(«15:30:30»)
=МИНУТЫ(«10.04.2016 15:30:30»)
=МИНУТЫ(0,646180555555556)
=МИНУТЫ(6,646180555555556)
=МИНУТЫ(«3:30:30 PM»)
=MINUTE(«15:30:30»)все вышеприведенные формулы вернут число 30. В качестве аргумента можно задавать как время в текстовом формате(«15:30:30»), так и его эквивалент в виде дробной части(0,646180555555556). Так же можно указывать ссылку на ячейку, содержащую значение времени. Если вместе со временем указать дату(«10.04.2016 15:30:30»), то дата будет игнорироваться. Если число больше 1, то в расчет берется только дробная часть числа(0,646180555555556 и 6,646180555555556 вернут одинаковое значение)Чтобы лучше понимать работу данной функции советую ознакомиться со статьей: Как Excel воспринимает данные? - СЕКУНДЫ(SECOND) — возвращает количество секунд для заданного значения времени:
=МИНУТЫ(«15:30:45»)
=СЕКУНДЫ(«10.04.2016 15:30:45»)
=СЕКУНДЫ(0,646354166666667)
=СЕКУНДЫ(6,646354166666667)
=СЕКУНДЫ(«3:30:45 PM»)
=SECOND(«15:30:45»)все вышеприведенные формулы вернут число 45. В качестве аргумента можно задавать как время в текстовом формате(«15:30:45»), так и его эквивалент в виде дробной части(0,646354166666667). Так же можно указывать ссылку на ячейку, содержащую значение времени. Если вместе со временем указать дату(«10.04.2016 15:30:45»), то дата будет игнорироваться. Если число больше 1, то в расчет берется только дробная часть числа(0,646354166666667 и 6,646354166666667 вернут одинаковое значение)Чтобы лучше понимать работу данной функции советую ознакомиться со статьей: Как Excel воспринимает данные? - ДЕНЬ(DAY) — возвращает число, означающее номер дня для указанной даты, заданной в числовом формате или записанную текстом в одном из локальных форматов:
=ДЕНЬ(«20.4.2009»)
=ДЕНЬ(«20-ИЮН-09»)
=ДЕНЬ(A1)
Источник: https://www.excel-vba.ru/general/funkcii-excel/funkcii-dati-i-vremeni/
MySQL | Функции для работы с датами и временем
Последнее обновление: 26.05.2018
MySQL имеет ряд встроенных функций для работы с датами и временем.
Получение даты и времени
- Функции NOW(), SYSDATE(), CURRENT_TIMESTAMP() возвращают текущую локальную дату и время на основе системных часов в виде объекта datetime. Все три функции возвращают одинаковый результат SELECT NOW(); — 2018-05-25 21:34:55
SELECT SYSDATE(); — 2018-05-25 21:34:55
SELECT CURRENT_TIMESTAMP(); — 2018-05-25 21:32:55 - Функции CURDATE и CURRENT_DATE возвращают текущую локальную дату в виде объекта date: SELECT CURRENT_DATE(); — 2018-05-25
SELECT CURDATE(); — 2018-05-25 - Функции CURTIME и CURRENT_TIME возвращают текущее время в виде объекта time: SELECT CURRENT_TIME(); — 20:47:45
SELECT CURTIME(); — 20:47:45 - UTC_DATE возвращает текущую локальную дату относительно GMT SELECT UTC_DATE(); — 2018-05-25
- UTC_TIME возвращает текущее локальное время относительно GMT SELECT UTC_TIME(); — 17:47:45
Парсинг даты и времени
- DAYOFMONTH(date) возвращает день месяца в виде числового значения
- DAYOFWEEK(date) возвращает день недели в виде числового значения
- DAYOFYEAR(date) возвращает номер дня в году
- MONTH(date) возвращает месяц даты
- YEAR(date) возвращает год из даты
- QUARTER(date) возвращает номер квартала года
- WEEK(date [, first]) возвращает номер недели года. Необязательный параметр позволяет задать стартовый день недели. Если этот параметр равен 1, то первым днем считается понедельник, иначе воскресенье
- LAST_DAY(date) возвращает последний день месяца в виде даты
- DAYNAME(date) возвращает название дня недели
- MONTHNAME(date) возвращает название текущего месяца
- HOUR(time) возвращает час времени
- MINUTE(time) возвращает минуту времени
- SECOND(time) возвращает секунду времени
Примеры функций:
Функция EXTRACT
Функция EXTRACT извлекает из даты и времени какой-то определенный компонент. Ее формальный синтаксис:
EXTRACT(unit FROM datetime)
Значение datetime представляет исходную дату и (или) время, а значение unit указывает, какой компонент даты или времени будет извлекаться. Параметр unit может представлять одно из следующих значений:
- SECOND (секунды)
- MINUTE (минуты)
- HOUR (час)
- DAY (день)
- MONTH (месяц)
- YEAR (год)
- MINUTE_SECOND (минуты и секунды)
- HOUR_MINUTE (часы и минуты)
- DAY_HOUR (день и часы)
- YEAR_MONTH (год и месяц)
- HOUR_SECOND (часы, минуты и секунды)
- DAY_MINUTE (день, часы и минуты)
- DAY_SECOND (день, чаы, минуты и секунды)
Примеры вызова функции:
Функции для манипуляции с датами
Ряд функций позволяют производить операции сложения и вычитания с датами и временем:
- DATE_ADD(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом сложения даты date с определенным временным интервалом. Интервал задается с помощью выражения INTERVAL expression unit, где INTERVAL предоставляет ключевое слово, expression — количество добавляемых к дате единиц, а unit — тип единиц (часы, дни и т.д.) Параметр unit может иметь те же значения, что и в функции EXTRACT, то есть DAY, HOUR и т.д.
- DATE_SUB(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом вычитания из даты date определенного временного интервала
- DATEDIFF(date1, date2) возвращает разницу в днях между датами date1 и date2
- TO_DAYS(date) возвращает количество дней с 0-го года
- TIME_TO_SEC(time) возвращает количество секунд, прошедших с момента полуночи
Примеры применения:
Форматирование дат и времени
- DATE_FORMAT(date, format) возвращает объект DATE или DATETIME, отформатированный с помощью шаблона format
- TIME_FORMAT(date, format) возвращает объект TIME или DATETIME, отформатированный с помощью шаблона format
Обе функции в качестве второго параметра принимают строку форматирования или шаблон, который показывает, как оформатировать значение. Этот шаблон может принимать следующие значения:
- %m: месяц в числовом формате 01..12
- %с: месяц в числовом формате 1..12
- %M: название месяца (January…December)
- %b: аббревиатура месяца (Jan…Dec)
- %d: день месяца в числовом формате 00..31
- %e: день месяца в числовом формате 0..31
- %D: номер дня месяца с суффиксом (1st, 2nd, 3rd…)
- %y: год в виде двух чисел
- %Y: год в виде четырех чисел
- %W: название дня недели (Sunday…Saturday)
- %a: аббревиатура дня недели (Sun…Sat)
- %H: час в формате 00..23
- %k: час в формате 0..23
- %h: час в формате 01..12
- %l: час в формате 1..12
- %i: минуты в формате 00..59
- %r: время в 12-ти часовом формате (hh:mm:ss AM или PM)
- %T: время в 24-ти часовом формате (hh:mm:ss)
- %S: секунды в формате 00..59
- %p: AM или PM
Примеры применения:
В качестве примера использования функций найдем заказы, которые были сделаны 5 дней назад:
Источник: https://metanit.com/sql/mysql/6.3.php
Работа с датой и временем в PHP
В распределенных системах, таких, как Интернет, время играет особую роль.
Из-за незначительного расхождения системных часов игрок на рынке Forex может
потерять десятки тысяч долларов в течение нескольких минут; система деловой
разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации
потеряют важную информацию, нужную пользователю и т.д.
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) Абсолютное время Пример 1
РЕЗУЛЬТАТ ПРИМЕРА 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», поскольку
»
» является символом новой строки.Пример 2
РЕЗУЛЬТАТ ПРИМЕРА 2:
Сегодня: 10.11.05 13:03 - mktime( ) — возвращает абсолютное время, которое затем можно
использовать с функциями date() или getdate(). Принимает до
шести целочисленных аргументов в следующем порядке:
часы
минуты
секунды
месяц
день месяца
годРЕЗУЛЬТАТ ПРИМЕРА 3:
22 of January 1971, at 1.30 pm, Friday - 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
РЕЗУЛЬТАТ ПРИМЕРА 4:
Tuesday 15 November 2005 13:11
Сегодня вторник 15 Ноябрь 2005 13:11:14
Московское время (зима)
Еще примеры:
date(«l dS of F Y h:i:s A») :
Thursday 19th 2020f March 2020 10:16:52 PM
date(«Сегодня d.m.Y») :
Сегодня 19.03.2020
Источник: https://htmlweb.ru/php/php_date.php