google sheets день недели
Функции Google Таблиц для работы с датой и временем
В Google Таблицах есть несколько функций для работы с датой и временем – есть очень полезные, есть менее очевидные. Рассмотрим их.
На скриншоте во втором столбце результат действия формулы, а в третьем – текст самой формулы.
Далее я расскажу про каждую функцию отдельно. Отмечу, что в качестве даты можно использовать ссылку на ячейку с таковой или указывать дату напрямую в формуле в формате «01.02.2015».
Функция TODAY (СЕГОДНЯ)
возвращает сегодняшнюю дату. Аргументов у нее нет – сегодняшний день и есть сегодняшний. Результат вычисления функции обновляется вместе с остальными ячейками при любом изменении в документе.
Функция NOW (ТДАТА)
возвращает текущие время и дату. Аргументов тоже нет. Если ее не отформатировать – в ячейке будет отображаться и то, и другое:
А если в качестве формата использовать временной, в ячейке будет только текущее время:
Сверху неотформатированная ячейка, снизу – ячейка с временным форматом.
Функция NETWORKDAYS (ЧИСТРАБДНИ)
возвращает количество рабочих дней между двумя датами. Даты могут храниться в ячейках, как в этом примере:
Между первым октября 2015 года и 18 февраля 2016 года – 101 рабочий день.
Кроме того, даты можно задать и в самой формуле, хотя это и менее гибкий способ – ведь в ячейках их менять удобнее:
Можно задать в качестве второго аргумента функцию TODAY – и каждый день у вас будет отображаться актуальное количество рабочих дней, прошедших с определенной даты (аналогично можно задать TODAY и как первый аргумент – и отслеживать количество рабочих дней ДО определенной даты):
Последний аргумент этой функции – праздники, то есть даты, которые рабочими не считаются.
Удобнее всего их задать в диапазоне, а в функции сослаться на этот диапазон. Диапазон может выглядеть так:
Рабочих дней стало 95.
Функция NETWORKDAYS.INTL (ЧИСТРАБДНИ.INTL)
предыдущей возможностью задать нестандартную рабочую неделю. Это третий аргумент, и задается он в виде «0000011», где нули – это рабочие дни, а единицы – выходные. Допустим, для шведской четырехдневной недели формула будет выглядеть так:
И рабочих дней стало 77.
Функция WORKDAY (РАБДЕНЬ)
возвращает дату, которая наступит по прошествии определенного количества дней (второй аргумент) с определенной даты (первый аргумент):
В данном примере мы ссылаемся на ячейку B7, в которой стоит дата 01.10.2015. По прошествии 155 рабочих дней с этой даты наступит пятое мая.
Функции DAY (ДЕНЬ), MONTH (МЕСЯЦ), YEAR (ГОД)
возвращают соответствующий параметр из даты, которая является единственным аргументом этой функции:
В примере аргумент – сегодняшняя дата, заданная функцией TODAY.
Функция WEEKNUM (НОМНЕДЕЛИ)
возвращает номер недели. Первый аргумент – дата, а второй – необязательный – тип. По умолчанию тип равен 1, и это означает, что первый день недели – воскресенье, если задать аргумент тип равным 2, то первым днем недели будет считаться понедельник.
Функция DATEDIF (РАЗНДАТ)
вычисляет количество дней, месяцев и лет между двумя датами.
Первые два аргумента – стартовая и конечная даты. А третий – параметр, у него есть следующие варианты:
Y – полные годы. В примере находим разницу между 1 октября 2015 и 18 февраля 2016:
Видимо, что полного года еще не прошло – но можно вычислить десятичную долю года, воспользовавшись функцией YEARFRAC (ДОЛЯГОДА)
У DATEDIF есть еще три варианта последнего аргумента:
MD – количество дней после вычитания полных месяцев ( в примере 17 дней между 01.01.2013 и 18.02.2016);
YM – количество месяцев после вычитания полных лет ( в примере 1 месяц между 01.01.2013 и 18.02.2016);
YD – количество дней
после вычитания полных лет ( в примере 48 дней между 01.01.2013 и 18.02.2016).
Функция EOMONTH (КОНМЕСЯЦА)
возвращает последнюю дату месяца, следующего от заданной даты через определенное количество месяцев. Например:
Вернет 30.04.2016 в феврале (апрель = два месяца от февраля):
Если прибавить ко всей формуле единицу – то получим первый день следующего месяца, что тоже может пригодиться:
Функция WEEKDAY (НОМНЕДЕЛИ)
возвращает порядковый номер дня недели указанной даты (первый аргумент). Второй аргумент – тип, как у функции WEEKNUM. Для недели, начинающейся с понедельника, тип = 2:
Если же аргумент тип = 1, то четверг становится пятым днем недели, как видно на скриншоте:
Наконец, несколько функций для работы со временем. TIME (ВРЕМЯ)
преобразует заданные часы, минуты и секунды (это и есть ее аргументы) во время. Аргументы могут быть заданы, конечно, и внутри функции, и в виде ссылок на ячейки.
Ну а SECOND (СЕКУНДЫ), MINUTE (МИНУТЫ) и HOUR (ЧАС)
возвращают одно соответствующее значение из даты. На скриншоте выше видно, что заснял я его в 22 часа, 22 минуты и 27 секунд – ведь во всех трех функциях в качестве аргумента задано текущее время – NOW().
Использование функции DATE в Google Sheets
Функция DATE в Google Sheets возвращает дату или серийный номер даты, комбинируя отдельные элементы дня, месяца и года, введенные в качестве аргументов функции.
Ввод дат как дат
В сочетании с другими функциями Google Sheets DATE можно использовать для создания самых разнообразных формул дат. Одним из важных применений этой функции – как показано в строках с 5 по 10 на изображении выше – является обеспечение правильного ввода и интерпретации дат некоторыми другими функциями дат в Листах Google. Это особенно верно, если введенные данные отформатированы как текст.
Синтаксис и аргументы функции DATE
Синтаксис функции относится к макету функции и включает в себя имя функции, скобки и аргументы.
Синтаксис для функции DATE: = DATE (год, месяц, день)
Ошибки и корректировки
Значение! Функция возвращает значение ошибки, если вместо числа вводятся текстовые данные. Это включает в себя ввод ссылки на ячейку, содержащую текст. #NUM! Функция возвращает значение ошибки, если для аргумента год введено пятизначное число, например 20016. Если для аргументов месяца или дня есть недопустимое значение, функция автоматически корректирует выходные данные функции на следующую действительную дату. Например, = DATE (2016,13,1) – в котором для аргумента month указано 13 – корректирует аргумент year и возвращает 01.01.2017. Другой пример: = DATE (2016,01,32), который имеет 32 дня для января, корректирует аргумент month и возвращает 2/01/2016. Если для аргумента введены десятичные значения, значение усекается до целочисленного значения. Например, значение «10,25» будет интерпретировано функцией как «10».
Пример функции DATE
На изображении выше функция DATE используется в сочетании с рядом других функций в ряде формул даты.
Перечисленные формулы предназначены для примера использования функции DATE.
Приведенная ниже информация охватывает шаги, используемые для входа в функцию DATE, расположенную в ячейке B4. Выходные данные функции в этом случае показывают составную дату, созданную путем объединения отдельных элементов даты, расположенных в ячейках с A2 по C2.
Ввод функции ДАТА
Варианты ввода функции и ее аргументов в таблицу включают в себя:
Разделитель запятых
При использовании любого метода для входа в функцию обратите внимание, что запятые (, ) используются для разделения аргументов функции внутри круглых скобок.
После ссылки на ячейку введите запятую , в качестве разделителя между аргументами.
Нажмите клавишу Enter на клавиатуре, чтобы ввести закрывающую круглую скобку ) и завершите функцию.
Дата должна появиться в ячейке B1 в формате 15.11.2015.
При нажатии на ячейку B1 полная функция = ДАТА (A2, B2, C2) появляется на панели формул над рабочим листом.
Если вывод в ячейке B4 неверен после входа в функцию, возможно, ячейка отформатирована неправильно.
Изменение формата даты
Выделите ячейки на листе, которые содержат или будут содержать даты.
Нажмите на кнопку Формат > Число > Дата в меню, чтобы изменить форматирование ячейки на формат даты, используемый текущими региональными настройками.
Изменение региональных настроек
Как и во многих онлайн-приложениях, в Google Sheets по умолчанию используется американский формат даты, также известный как среднесрочный индекс MM/DD/YYYY .
Если в вашем местоположении используется другой формат даты – например, в Google Листах с прямым порядком байтов (ГГГГ/ММ/ДД) или с прямым порядком байтов (ДД/ММ/ГГГГ) Google Sheets может быть настроен для отображения даты в правильном формате, регулируя региональные настройки.
Чтобы изменить региональные настройки:
В разделе Языковой стандарт в диалоговом окне нажмите на поле – значение по умолчанию США – для просмотра списка доступных настроек страны.
Нажмите Сохранить настройки в нижней части диалогового окна, чтобы закрыть его и вернуться к рабочему листу.
Новые даты, введенные в таблицу, должны соответствовать формату выбранной страны – для вступления изменений в силу, возможно, потребуется снова отформатировать существующие даты.
Отрицательные серийные номера и даты Excel
По умолчанию Microsoft Excel для Windows использует систему дат, которая начинается в 1900 году. Ввод серийного номера 0 возвращает дату: 0 января 1900 года. Кроме того, функция DATE в Excel не будет отображать даты до 1900 года.
Google Sheets использует дату 30 декабря 1899 года для серийного номера ноль, но в отличие от Excel, Google Sheets отображает даты до этого, используя отрицательные числа для серийного номера.
С другой стороны, когда эта же дата вводится в Excel, программа автоматически преобразует дату в текстовые данные и возвращает значение #VALUE! значение ошибки, если в формуле используется дата.
Юлианские номера дня
Числа юлианского дня, используемые рядом правительственных учреждений и других организаций, представляют собой числа, представляющие определенный год и день. Длина этих чисел варьируется в зависимости от того, сколько цифр используется для представления годовой и дневной составляющих числа.
Например, на изображении выше юлианский номер дня в ячейке A9 – 2016007 – состоит из семи цифр, причем первые четыре цифры номера представляют год, а последние три дня года. Как показано в ячейке B9, это число представляет седьмой день 2016 года или 7 января 2016 года.
Аналогично, число 2010345 представляет 345-й день 2010 года или 11 декабря 2010 года.
Функции для работы с датой и временем в google таблицах
В Google Таблицах есть несколько функций для работы с датой и временем – есть очень полезные, есть менее очевидные. Рассмотрим их.
На скриншоте во втором столбце результат действия формулы, а в третьем – текст самой формулы.
Далее я расскажу про каждую функцию отдельно. Отмечу, что в качестве даты можно использовать ссылку на ячейку с таковой или указывать дату напрямую в формуле в формате «01.02.2015».
Функция TODAY (СЕГОДНЯ)
возвращает сегодняшнюю дату. Аргументов у нее нет – сегодняшний день и есть сегодняшний. Результат вычисления функции обновляется вместе с остальными ячейками при любом изменении в документе.
Функция NOW (ТДАТА)
возвращает текущие время и дату. Аргументов тоже нет. Если ее не отформатировать – в ячейке будет отображаться и то, и другое:
А если в качестве формата использовать временной, в ячейке будет только текущее время:
Функция NETWORKDAYS.INTL (ЧИСТРАБДНИ.INTL)
предыдущей возможностью задать нестандартную рабочую неделю. Это третий аргумент, и задается он в виде «0000011», где нули – это рабочие дни, а единицы – выходные. Допустим, для шведской четырехдневной недели формула будет выглядеть так:
В данном примере мы ссылаемся на ячейку B7, в которой стоит дата 01.10.2015. По прошествии 155 рабочих дней с этой даты наступит пятое мая.
возвращает номер недели. Первый аргумент – дата, а второй – необязательный – тип. По умолчанию тип равен 1, и это означает, что первый день недели – воскресенье, если задать аргумент тип равным 2, то первым днем недели будет считаться понедельник.
Основные принципы работы с датами и временем в Excel
6426 27.10.2012 Скачать пример
Видео
Как обычно, кому надо быстро — смотрим видео. Подробности и нюансы — в тексте ниже:
Как вводить даты и время в Excel
Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами — и понимает их все:
«Классическая» форма | 3.10.2006 |
Сокращенная форма | 3.10.06 |
С использованием дефисов | 3-10-6 |
С использованием дроби | 3/10/6 |
Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню — правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells):
27.10.2012 16:45
Быстрый ввод дат и времени
Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).
Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правую кнопку мыши, то можно выбрать — как именно копировать выделенную дату:
Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря:
Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата — лучше воспользоваться функцией СЕГОДНЯ (TODAY):
Как Excel на самом деле хранит и обрабатывает даты и время
Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек — вкладка Число — Общий), то можно увидеть интересную картинку:
То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417
На самом деле любую дату Excel хранит и обрабатывает именно так — как число с целой и дробной частью. Целая часть числа (41209) — это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)
Из всех этих фактов следуют два чисто практических вывода:
Количество дней между двумя датами
Считается простым вычитанием — из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники.
Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время.
В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа.
Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak).
После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Количество полных лет, месяцев и дней между датами. Возраст в годах. Стаж
Про то, как это правильно вычислять, лучше почитать тут.
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY).
Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков).
Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ (NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.
Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:
Ссылки по теме
6 функций Google Sheet, которые помогают работать с данными
Google Sheet – универсальный инструмент для организации и вычисления данных. Этот облачный сервис – большое преимущество перед Excel. С ним легко наладить совместную работу, автоматизировать данные и не переживать об их возможной утере – изменения сохраняются каждую секунду.
Google Sheets похожи на Excel, многие функции программируются точно так же, как и в привычной электронной таблице. Но есть несколько лайфхаков, которые помогают упростить работу с данными.
Присоединение текста в «Гугл Таблицах»
Иногда в таблицах нужно использовать текст. Может, вам необходимо суммировать некоторые ключевые значения, а может, надо генерировать html-коды.
Знак & объединяет значения ячеек и выводит их в текстовом формате в другой ячейке. Кавычки “” заменяют текст, который вы хотите вставить.
Например, у вас есть такая таблица с ячейками:
Пример объединения текста в «Гугл Таблицах»
Вам нужно, чтобы в одной ячейке появилось общее: «4 ящика и 5 коробок». Вручную писать, если ячеек много – долго, с помощью простой формулы это можно автоматизировать.
Для нашего примера формула: = A1 & «» & B1 & «и» & A2 & «» & B2 объединяет значения. Выделите ячейку, где должна отображаться сводная информация, и введите эту формулу. Готово. В новой ячейке появилось «4 ящика и 5 коробок».
Объединяем разные значения в ячейках таблиц и выводим их в одну
Если вам нужно объединить множество значений, то в помощь – функция JOIN. Укажите, какой символ надо добавить между значениями ячеек, к которым вы хотите присоединиться.
Например, нужно объединить в строку данные со столбцов:
Пример для объединения ячеек в столбце в одну
Пишем в новой ячейке формулу:
Объединение цифровых ячеек в одну
Если вместо знака «−» поставить, к примеру, «+», то результат будет такой:
Ставьте нужный вам знак между кавычками
INDEX: возврат первого или последнего значения в листе «Гугл Таблицы»
С таблицами работать проще, если есть фиксированный набор данных. Но при добавлении новых данных через определенные регулярные промежутки времени, например новой строки каждую неделю, требуется такое же регулярное обновление, чтобы все функции работали четко.
Вам надо рассчитать изменение между нижней ячейкой с предыдущим значением. Это делает функция INDEX (). Она позволяет вернуть значение ячейки, указав, какую строку и столбец искать в массиве данных.
= INDEX (A: A; 1;1) – всегда возвращает первую ячейку в столбце А.
Функция INDEX возвращает значение выбранной ячейки
А если объединить INDEX () и COUNTA (), то будет возвращаться последнее значение в таблице
= INDEX (A:A; COUNTA (A:A); 1)
Импорт данных в «Гугл Таблицы»
«Гугл Таблицы» умеют импортировать данные. Вы можете извлекать нужные вам цифры из электронных таблиц с различных источников, включая XML, HTML, RSS и CSV – удобно для импорта списков сообщений в блогах, каких-либо настроек, списка товарных запасов и так далее. Это можно сделать при помощи функции IMPORTXML:
= IMPORTXML (» https://en.wikipedia.org/wiki/Moon_landing «; «//a/@href»)
Импорт содержимого списка или таблицы
Содержимое списка или таблицы можно импортировать из указанного URL-адреса с помощью такой формулы:
=IMPORTHTML(«ссылка»; «table»; 4)
Импорт содержимого ссылок в «Гугл Таблицы»
Импорт CSV-файла
Импорт CSV-файла из указанного URL-адреса:
= IMPORTDATA («ссылка на файл CSV» )
Импорт данных из файла CSV
Импорт данных из RSS или atom-канала
Импортировать данные из RSS-канала или atom тоже не сложно:
Импорт данных из файла RSS или atom
Эти 6 функций помогут вам сделать работу с «Гугл Таблицами» проще и эффективней. Используйте их.
Работа с датой и временем в MySQL
В этой статье мы рассмотрим основы работы с датой и временем в MySQL.
MySQL date format поддерживает несколько форматов даты и времени. Их можно определить следующим образом:
DATE — хранит значение даты в виде ГГГГ-ММ-ДД. Например, 2008-10-23.
DATETIME — хранит значение даты и времени в виде ГГГГ-MM-ДД ЧЧ:ММ:СС. Например, 2008-10-23 10:37:22. Поддерживаемый диапазон дат и времени: 1000-01-01 00:00:00 до 9999-12-31 23:59:59
TIMESTAMP — похож на DATETIME с некоторыми различиями в зависимости от версии MySQL и режима, в котором работает сервер.
Таблица, содержащая типы данных DATE и DATETIME, создается так же, как и другие столбцы. Например, мы можем создать новую таблицу под названием orders, которая содержит столбцы номера заказа, заказанного товара, даты заказа и даты доставки заказа:
CREATE TABLE `MySampleDB`.`orders` (
`order_no` INT NOT NULL AUTO_INCREMENT,
`order_item` TEXT NOT NULL,
`order_date` DATETIME NOT NULL,
`order_delivery` DATE NOT NULL,
PRIMARY KEY (`order_no`)
)
ENGINE = InnoDB;
Столбец ORDER_DATE — это поле типа MySQL DATE TIME, в которое мы записываем дату и время, когда был сделан заказ. Для даты доставки невозможно предсказать точное время, поэтому мы записываем только дату.
Наиболее часто используемым разделителем для дат является тире (—), а для времени — двоеточие (:). Но мы можем использовать любой символ, или вообще не добавлять никакого символа.
Например, все следующие форматы являются правильными:
2008-10-23 10:37:22
20081023103722
2008/10/23 10.37.22
2008*10*23*10*37*22
MySQL содержит множество функций, которые используются для обработки даты и времени. В приведенной ниже таблице представлен список наиболее часто используемых функций:
Функция | Описание |
ADDDATE() | Добавляет дату. |
ADDTIME() | Добавляет время. |
CONVERT_TZ() | Конвертирует из одного часового пояса в другой. |
CURDATE() | Возвращает текущую дату. |
CURTIME() | Возвращает текущее системное время. |
DATE_ADD() | Добавляет одну дату к другой. |
MySQL DATE_FORMAT() | Задает указанный формат даты. |
DATE() | Извлекает часть даты из даты или выражения дата-время. |
DATEDIFF() | Вычитает одну дату из другой. |
DAYNAME() | Возвращает день недели. |
DAYOFMONTH() | Возвращает день месяца (1-31). |
DAYOFWEEK() | Возвращает индекс дня недели из аргумента. |
DAYOFYEAR() | Возвращает день года (1-366). |
EXTRACT | Извлекает часть даты. |
FROM_DAYS() | Преобразует номер дня в дату. |
FROM_UNIXTIME() | Задает формат даты в формате UNIX. |
MySQL DATE_SUB() | Вычитает одну дату из другой. |
HOUR() | Извлекает час. |
LAST_DAY | Возвращает последний день месяца для аргумента. |
MAKEDATE() | Создает дату из года и дня года. |
MAKETIME () | Возвращает значение времени. |
MICROSECOND() | Возвращает миллисекунды из аргумента. |
MINUTE() | Возвращает минуты из аргумента. |
MONTH() | Возвращает месяц из переданной даты. |
MONTHNAME() | Возвращает название месяца. |
NOW() | Возвращает текущую дату и время. |
PERIOD_ADD() | Добавляет интервал к месяцу-году. |
PERIOD_DIFF() | Возвращает количество месяцев между двумя периодами. |
QUARTER() | Возвращает четверть часа из переданной даты в качестве аргумента. |
SEC_TO_TIME() | Конвертирует секунды в формат ‘ЧЧ:MM:СС’. |
SECOND() | Возвращает секунду (0-59). |
MySQL STR_TO_DATE() | Преобразует строку в дату. |
SUBTIME() | Вычитает время. |
SYSDATE() | Возвращает время, в которое была выполнена функция. |
TIME_FORMAT() | Задает формат времени. |
TIME_TO_SEC() | Возвращает аргумент, преобразованный в секунды. |
TIME() | Выбирает часть времени из выражения, передаваемого в качестве аргумента. |
TIMEDIFF() | Вычитает время. |
TIMESTAMP() | С одним аргументом эта функция возвращает дату или выражение дата-время. С двумя аргументами возвращается сумма аргументов. |
TIMESTAMPADD() | Добавляет интервал к дате-времени. |
TIMESTAMPDIFF() | Вычитает интервал из даты — времени. |
TO_DAYS() | Возвращает аргумент даты, преобразованный в дни. |
UNIX_TIMESTAMP() | Извлекает дату-время в формате UNIX в формат, принимаемый MySQL. |
UTC_DATE() | Возвращает текущую дату по универсальному времени (UTC). |
UTC_TIME() | Возвращает текущее время по универсальному времени (UTC). |
UTC_TIMESTAMP() | Возвращает текущую дату-время по универсальному времени (UTC). |
WEEK() | Возвращает номер недели. |
WEEKDAY() | Возвращает индекс дня недели. |
WEEKOFYEAR() | Возвращает календарную неделю даты (1-53). |
YEAR() | Возвращает год. |
YEARWEEK() | Возвращает год и неделю. |
Вы можете поэкспериментировать с этими функциями MySQL date format, даже не занося никаких данных в таблицу. Например:
Рассмотрим, как вносятся значения date MySQL в таблицу. Чтобы продемонстрировать это, мы продолжим использовать таблицу orders, которую создали в начале статьи.
Мы начнем с добавления новой строки заказа. Значение поля order_no будет автоматически увеличиваться на 1, так что нам остается вставить значения order_item, дату создания заказа и дату доставки. Дата заказа — это время, в которое вставляется заказ, поэтому мы можем использовать функцию NOW(), чтобы внести в строку текущую дату и время.
Дата доставки — это период времени после даты заказа, которую мы можем вернуть, используя функцию MySQL DATE_ADD(), которая принимает в качестве аргументов дату начала (в нашем случае NOW ()) и INTERVAL (в нашем случае 14 дней). Например:
INSERT INTO orders (order_item, order_date, order_delivery)
VALUES (‘iPhone 8Gb’, NOW(), DATE_ADD(NOW(), INTERVAL 14 DAY));
Данный запрос создает заказ для указанного элемента с датой, временем выполнения заказа, и интервалом через две недели после этого в качестве даты доставки:
mysql> SELECT * FROM orders;
+———-+————+———————+—————-+
| order_no | order_item | order_date | order_delivery |
+———-+————+———————+—————-+
| 1 | iPhone 8Gb | 2007-10-23 11:37:55 | 2007-11-06 |
+———-+————+———————+—————-+
1 row in set (0.00 sec)
Точно так же можно заказать товар с датой доставки через два месяца:
mysql> INSERT INTO orders (order_item, order_date, order_delivery) VALUES (‘ipod Touch 4Gb’, NOW(), DATE_ADD(NOW(), INTERVAL 2 MONTH));
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM orders;
+———-+—————-+———————+—————-+
| order_no | order_item | order_date | order_delivery |
+———-+—————-+———————+—————-+
| 1 | iPhone 8Gb | 2007-10-23 11:37:55 | 2007-11-06 |
| 2 | ipod Touch 4Gb | 2007-10-23 11:51:09 | 2007-12-23 |
+———-+—————-+———————+—————-+
2 rows in set (0.00 sec)
В MySQL мы можем отфильтровать извлеченные данные в зависимости от даты и времени. Например, мы можем извлечь только те заказы, доставка которых запланирована на ноябрь:
mysql> SELECT * FROM orders WHERE MONTHNAME(order_delivery) = ‘November’;
+———-+————+———————+—————-+
| order_no | order_item | order_date | order_delivery |
+———-+————+———————+—————-+
| 1 | iPhone 8Gb | 2007-10-23 11:37:55 | 2007-11-06 |
+———-+————+———————+—————-+
1 row in set (0.00 sec)
Точно так же мы можем использовать BETWEEN, чтобы выбрать товары, доставка которых произойдет между двумя указанными датами. Например:
mysql> SELECT * FROM orders WHERE order_delivery BETWEEN ‘2007-12-01’ AND ‘2008-01-01’;
+———-+—————-+———————+—————-+
| order_no | order_item | order_date | order_delivery |
+———-+—————-+———————+—————-+
| 2 | ipod Touch 4Gb | 2007-10-23 11:51:09 | 2007-12-23 |
+———-+—————-+———————+—————-+
1 row in set (0.03 sec)
В этой статье мы рассмотрели форматы, используемые для определения даты и времени, и перечислили функции, используемые в для операций в MySQL с тип DATE. А также несколько примеров внесения и извлечения данных.
MySQL | Функции для работы с датами и временем
Последнее обновление: 26.05.2018
MySQL имеет ряд встроенных функций для работы с датами и временем.
Получение даты и времени
Парсинг даты и времени
Функция EXTRACT
Функция EXTRACT извлекает из даты и времени какой-то определенный компонент. Ее формальный синтаксис:
EXTRACT(unit FROM datetime)
Значение datetime представляет исходную дату и (или) время, а значение unit указывает, какой компонент даты или времени будет извлекаться. Параметр unit может представлять одно из следующих значений:
Примеры вызова функции:
Функции для манипуляции с датами
Ряд функций позволяют производить операции сложения и вычитания с датами и временем:
Форматирование дат и времени
Обе функции в качестве второго параметра принимают строку форматирования или шаблон, который показывает, как оформатировать значение. Этот шаблон может принимать следующие значения:
В качестве примера использования функций найдем заказы, которые были сделаны 5 дней назад: