Содержание

Временная метка до даты в MySQL

В следующей статье представлен обзор временной метки до даты в MySQL. Значение метки времени можно преобразовать в формат даты в SQL с помощью ряда методов. Некоторые из них включают использование функции FROM_UNIXTIME() и функции форматирования. Значение метки времени может быть целым числом, представляющим количество секунд, прошедших с определенной даты, рассматриваемой как стандартная дата для справки, то есть с полуночи 12:00 1 января 19 года.70, который не предполагает учета високосных секунд при расчете и называется эпохой.

Целочисленное значение метки времени преобразуется в формат даты ГГГГ ДД ММ с помощью функции FROM_UNIXTIME(). Здесь мы увидим, как мы можем реализовать функцию FROM_UNIXTIME() для преобразования значения, хранящегося в определенной таблице, в формат метки времени, и попытаемся получить соответствующую дату этой метки времени в MySQL с помощью примера.

Синтаксис метки времени до даты в MySQL

Синтаксис функции FROM_UNIXTIME() в MySQL показан ниже:

FROM_UNIXTIME (значение метки времени UNIX [ требуемый формат])

В приведенном выше синтаксисе указанные термины описаны ниже:

  • Значение временной метки UNIX: Значение временной метки UNIX представляет собой целочисленное значение, представляющее временную метку определенного времени в секундах, начиная со стандартного времени первого января 1970 года, и обрабатывается внутри базы данных для значения временной метки. Это целое число также может быть выходом функции UNIX_TIMESTAMP(), поскольку эта функция также возвращает значение временной метки UNIX.
  • требуемый формат: Требуемый формат — это необязательный параметр, который может быть указан для указания формата даты или времени, желаемого в качестве вывода. Если не указано, по умолчанию рассматривается формат «ГГГГ-ММ-ДД чч:мм:сс» или может быть ГГГГММДДччммсс. Полученный формат по умолчанию зависит от того, используется ли функция FROM_UNIXTIME() в строковом контексте или в числовом контексте.

Выходные данные:

В выходных данных функции FROM_UNIXTIME () часовой пояс текущего сеанса считается часовым поясом при отображении значений даты и времени.

Необходимо учитывать: 

В случае, если мы используем функцию FROM_UNIXTIME () и функцию UNIX_TIMESTAMP () вместе при попытке преобразовать значение даты из значений метки времени в часовых поясах, отличных от UTC, существует возможность потери данных, так как данные могут не отображаться должным образом, поскольку нет однозначного отображения для обоих направлений.

Как преобразовать метку времени в дату в MySQL?

  • Чтобы преобразовать значение метки времени в MySQL в значение даты, мы можем использовать функцию FROM_UNIXTIME(). На первом этапе вы можете взять одно статическое целочисленное значение, представляющее значение метки времени UNIX, которое означает количество секунд с 1 января 19 года.70.
  • В качестве альтернативы вы также можете взять один столбец с типом данных unix timestamp, в котором будет храниться это целочисленное значение секунд. Теперь, чтобы преобразовать эти значения столбца статических, нам нужно будет указать второй параметр функции FROM_UNIXTIME() в ‘%Y %D %M’, так как мы хотим, чтобы вывод был в формате даты.
  • Первым аргументом будет имя столбца или значение статической метки времени, которое необходимо преобразовать. Возвращаемое выходное значение будет строковым значением, состоящим из значения даты предоставленного значения метки времени.

Пример метки времени для даты в MySQL

Ниже приведен пример метки времени для даты в MySQL:

Рассмотрим одну таблицу с именем contact_details, которая имеет один столбец с именем join_timestamp, в котором хранится целочисленное значение числового формата. Теперь первым шагом будет получение всех значений таблицы contact_details для проверки ее содержимого с помощью следующего оператора запроса.

Код:

ВЫБЕРИТЕ * ИЗ [contact_details] ;

Вывод:

Как мы видим, столбец join_timestamp содержит все целочисленные значения, представляющие значение метки времени UNIX, которое на самом деле является количеством секунд с 1 января 1970 года. Таким образом, функция FROM_UNIXTIME(), при применении к тому же столбцу дает следующий результат, и наш оператор запроса становится таким, как показано ниже.

Код:

ВЫБЕРИТЕ идентификатор_контакта, имя_сотрудника, домашний_адрес, альтернативный_адрес, FROM_UNIXTIME (отметка_времени_присоединения) FROM [подробности_контакта] ;

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

Вывод:

Теперь мы увидим, как мы можем получить только значение даты из значения метки времени с помощью функции FROM_UNIXTIME(). Это можно просто сделать, указав требуемый аргумент формата, который является вторым необязательным аргументом функции FROM_UNIXTIME(), задающей формат даты, как показано ниже.

Код:

ВЫБЕРИТЕ идентификатор_контакта, имя_сотрудника, домашний_адрес, альтернативный_адрес, FROM_UNIXTIME (штамп_времени_присоединения, '%Y %D %M') FROM [подробности_контакта];

%Y — год, %D — значение даты, %M — значение месяца в формате даты. Вывод приведенного выше оператора запроса, как показано ниже, извлекает только значение даты значения временной метки, хранящееся в столбце join_timestamp таблицы сведений о контакте.

Вывод:

Мы также можем изменить формат даты, в котором необходимо получить значение даты. Давайте возьмем еще один пример, когда одно и то же значение столбца join_timestamp необходимо преобразовать в другой формат даты. Требуемый формат — это значение месяца, значение даты, а затем значение года. Месяц должен быть в строковом формате, отображающем название месяца, а не число.

Наш оператор запроса теперь изменяется так, как показано ниже.

Код:

ВЫБЕРИТЕ контакт_идентификатор, имя_сотрудника, домашний_адрес, альтернативный_адрес, ОТ_UNIXTIME (время_присоединения, '%M %d %Y') ИЗ [контактные_детали] ;

Вывод приведенного выше оператора запроса, как показано ниже, со значением даты, полученным в требуемом формате.

Результат:

Таким образом, наша миссия достигнута, которая состояла в том, чтобы получить значение даты из отметки времени в MySQL.

Заключение

Функция FROM_UNIXTIME() используется для преобразования значения отметки времени UTC в значение даты путем указания соответствующего формата даты в качестве второго аргумента. Значение метки времени должно быть меткой времени UNIX, состоящей из целочисленного представления количества секунд до текущего значения времени из стандартной метки времени 1 января 19. 70.

Рекомендуемые статьи

Это руководство по временной метке даты в MySQL. Здесь мы обсуждаем введение, как преобразовать метку времени в дату в MySQL? И пример. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше:

  1. Настройка производительности MySQL
  2. Дамп таблицы MySQL
  3. Средство форматирования MySQL
  4. Конкат MySQL

Создать дату из формата MySQL DATETIME в JavaScript | от Dominik Bulaj

Создать дату из формата MySQL DATETIME в JavaScript | Доминик Булай | ITNEXTОткрыть в приложении

Опубликовано в

·

1 мин чтения

·

11 июня 2018 г.

В JavaScript мы можем создать объект Date либо с помощью конструктора ( new Date() ), либо с помощью 9001 3 Дата.parse() метод.

В обоих случаях (опционально) мы можем предоставить dateString . MDN отмечает, что это должно быть:

Строка, представляющая дату RFC2822 или (вариант) ISO 8601 (могут использоваться другие форматы, но результаты могут быть неожиданными).

Хотя браузер Chrome, кажется, анализирует множество форматов, в т.ч. MySQL DATETIME ( YYYY-MM-DD HH:MM:SS ), Safari, например, имеет проблемы с его пониманием и new Date('2017–02–04 11:23:54') приводит к Invalid Дата ошибка.

Если вы хотите легко разобрать MySQL DATETIME на дату JS, вы можете использовать эту технику:

Я использовал регулярное выражение в разделении для создания массива со значениями: года, месяца, дня, часа, минуты и секунды.
Поскольку monthIndex в JS Date начинается с 0 (январь), нам нужно уменьшить второе значение в массиве на единицу.

Наконец, я использовал оператор распространения в вызове Date, который просто вызывает Date с 6 параметрами: год, месяц (уменьшается на единицу), день, час, минута и секунды.

ОБНОВЛЕНО 29.01.2019

Если вам нужно разобрать только дату ( ГГГГ-ММ-ДД ) без времени, вы можете использовать еще более простой (и приятный 😎) код:

JavaScript

Автор: Доминик Булай

50 подписчиков

·Писатель для

веб-разработчик // велосипедист

Еще от Доминика Булай и ITNEXT

Доминик Булай

9000 2 в

Исправление уязвимостей, найденных в дереве зависимостей

I Я работаю в компании, которая производит финансовые облачные решения. Мы делаем новое приложение  — мобильное приложение, разработанное в React Native. The…

Чтение через 2 минуты · 4 февраля 2022 г.

Патрик Калкман

в

Внедрение зависимостей в Python

Создание гибких и тестируемых архитектур в Python

·13 мин чтения·14 апреля

Гаурав Мукерджи 90 003

в

Угловой 16 огромный

В На момент написания этой статьи angular только что опубликовал свою первую версию-кандидат v16.

Есть много функций/изменений…

5 минут чтения·16 апреля

Доминик Булай

in

Составление функций в JavaScript

Применение подхода функционального программирования к конвейерным функциям в JavaScript

Рекомендовано от Medium

Иван Половой

в

Javarevisited

Инициализировать базу данных MySQL внутри контейнера Docker с данными большого объема

Производительность приложения имеет важное значение. Как разработчик веб-приложений, я делаю все, чтобы мой код работал быстро. Один из…

·10 минут чтения·8 января

GSquared

в

JavaScript на простом английском

Изящная обработка запросов параллельного API в JavaScript

Пытаетесь управлять одновременными запросами в JavaScript? Научитесь оптимизировать производительность вашего приложения и легко выполнять параллельные запросы.