Перейти к содержанию

now

now возвращает текущую дату и время с использованием часового пояса отчёта Glarus BI.

Создание условной логики с использованием текущей даты и времени

Допустим у вас есть некоторые данные о проекте, и вы хотите добавить столбец статуса для каждой задачи. Мы предположим, что сегодняшняя дата и время - 22 ноября 2024 года, 12:00:00.

Задача Старт Срок исполнения Статус
Задача А 1 ноября, 2024, 12:00:00 30 ноября, 2024, 12:00:00 В работе
Задача Б 15 ноября, 2024, 12:00:00 19 ноября, 2024, 12:00:00 Требуется продление
Задача В 22 ноября, 2024, 12:00:00 22 ноября, 2024, 12:00:00 Истекает сейчас

Чтобы отметить задачу в процессе выполнения, вы можете использовать выражение:

now >= [Старт] AND now < [Срок исполнения]

Чтобы проверить, нужно ли вам попросить о продлении:

now >= [Start] AND now >= [Срок исполнения]

Если же вам хочется выразить свои эмоции (и у вас есть данные в реальном времени), вы можете отметить задачи, которые должны быть выполнены прямо сейчас:

now = [Срок исполнения]

Чтобы настроить столбец Статус, который объединяет все три ситуации выше, вы можете "обернуть" всё в выражение case:

case(now >= [Start] AND now < [Срок исполнения], "В работе",
     now >= [Start] AND now >= [Срок исполнения], "Требуется продление",
     now = [Срок исполнения], "Истекает сейчас")

Типы данных

Тип данных Возвращается now
Строка
Число
Дата и время
Логический
JSON

now возвращает timestamp with time zone, если часовые пояса поддерживаются вашей базой данных, в противном случае now возвращает timestamp without time zone.

Для дополнительной информации о том, как эти типы данных ведут себя в Glarus BI, см. Часовые пояса.

Ограничения

now вообще может и не быть now (в вашем местном времени), если ваш часовой пояс не совпадает с часовым поясом отчёта Glarus BI.

Если вам необходимо сравнить now со столбцом в другом часовом поясе, используйте convertTimezone для приведения обоих столбцов к одному часовому поясу. Например:

convertTimezone(now, 'UTC', <report timezone>) >= convertTimezone([Срок исполнения], 'UTC', <source time zone>)

Связанные функции

Описывают различные способы сделать то же самое.

SQL

Когда вы запускаете запрос с помощью конструктора запросов, Glarus BI преобразует настройки (фильтры, сводки и т.д.) в SQL-запрос и запускает этот запрос в вашей базе данных для получения результатов.

По умолчанию now использует часовой пояс отчёта Glarus BI. Если ваш администратор не установил часовой пояс отчета, now будет использовать часовой пояс вашей базы данных.

Допустим вы используете базу данных Postgres. Если часовой пояс отчёта Glarus BI установлен на NSK, вы получите now в NSK:

SELECT CURRENT_TIMESTAMP AT TIME ZONE 'NSK'

Если же вы не установили часовой пояс отчета, вы получите now в часовом поясе вашей базы данных Postgres (обычно UTC):

SELECT CURRENT_TIME

Таблицы

Функция электронных таблиц NOW() получает текущую дату и время в часовом поясе вашей операционной системы (время, которое находится на вашем компьютере или мобильном устройстве).

Python

Вы можете использовать pd.Timestamp.now() с помощью модуля pandas. Это даст вам объект Timestamp с текущей датой и временем в часовом поясе вашей операционной системы.

Дополнительная информация