Loading
Расширение Salesforce с помощью кликов, а не кода
Содержание
Выбрать фильтры

          Результаты отсутствуют
          Результаты отсутствуют
          Ниже приведены некоторые советы по поиску.

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

          Выполните поиск по всей справке Salesforce.
          Использование значений даты, даты/времени и времени в формулах

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

          Формулы дат используются для управления крайними сроками оплаты, давностью контрактов или любыми другими функциями организации, зависящими от времени или даты.

          Требуемые версии

          Доступно в версиях: Salesforce Classic и Lightning Experience
          Доступно в версиях: Все выпуски

          Для работы с датами используются два типа данных: Дата и дата/время. Один тип данных, «Время», не зависит от даты отслеживания времени, например, часов работы. Большинство значений, используемых при работе с датами, относятся к типу данных «Дата», сохраняющему год, месяц и день. Некоторые поля, например CreatedDate, являются полями типа «Дата/время», то есть хранят не только значение даты, но и значение времени (хранится по Гринвичу, но отображается в часовом поясе пользователей). Поля «Дата», «Дата/время» и «Время» форматируются в регионе пользователя при просмотре отчетов и страниц сведений о записях. Точность значения «Время» определяется миллисекундами. Точность значения типа «Дата/время» определяется секундами.

          Вы можете использовать операции сложения и вычитания значений даты, даты/времени и времени для вычисления будущей даты или прошедшего времени между двумя датами или временем. Например, при вычитании одной даты из другой итоговым значением будет разница между двумя начальными значениями в днях (тип данных «Число»). Аналогичная операция между двумя значениями типа «Дата/время» возвращает десятичное значение, обозначающее разницу в количестве дней, часов и минут. Та же операция между двумя значениями времени возвращает миллисекунду

          Например, если разница между двумя значениями типа «Дата/время» составляет 5,52, то есть два значения разделены на 5 дней, 12 часов (0,5 дня) и 28 минут (0,02 дня). Можно также добавить числовые значения к датам и дате/времени. Например, TODAY() + 3 операции возвращается через три дня после сегодняшней даты. Дополнительную информацию и примеры использования дат см. в разделе «Примеры формул дат».

          В примерах вместо фактических полей или значений типа «Дата» и «Дата/время» используются переменные «Дата» и «Дата/время».

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

          TODAY(), NOW() и TIMENOW()

          Функция TODAY() возвращает текущий день, месяц и год в качестве типа данных «Дата». Эта функция используется в формулах, где вас интересует, сколько дней прошло с предыдущей даты, дата определенного количества дней в будущем или если вы просто хотите отобразить текущую дату.

          Функция NOW() возвращает значение типа «Дата/время» текущего момента. Это полезно, если вас интересует определенное время дня, а также дата.

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

          Дополнительную информацию о преобразовании значений типа «Дата» и «Дата/время» см. в подразделе «Преобразование значений типа "Дата" и "Дата/время"».

          Функция DATE()

          Функция DATE() возвращает значение типа «Дата», заданное годом, месяцем и днем. Числовые значения гг/м/д, а также функции YEAR(), MONTH() и DAY() являются допустимыми параметрами для DATE(). Например, DATE( 2013, 6, 1 ) возвращает значение « 1 июня 2013 года». Таким же образом, DATE( YEAR( TODAY() ), MONTH( TODAY() ) + 3, 1) возвращает значение «Дата» первого дня, следующего за текущим на три месяца, при условии, что дата действительна (например, месяц находится между 1 и 12).

          Если введенные значения г/г приводят к недопустимой дате, функция DATE() возвращает ошибку, поэтому проверка ошибок является важной частью работы со значениями даты. Дополнительную информацию о методах обработки недопустимых дат см. в разделе «Примеры формул дат».

          Преобразование даты/времени в дату

          Дата и дата/время не являются взаимозаменяемыми типами данных, поэтому, если вы хотите выполнять операции между значениями типа «Дата» и «Дата/время», необходимо преобразовать значения, чтобы они были одного типа. Некоторые функции (например, YEAR(), MONTH() и DAY()) также работают только над значениями даты, поэтому значения даты/времени должны быть преобразованы первыми.

          Используйте функцию DATEVALUE( date/time ) для возврата значения типа «Дата/время». Например, чтобы получить год из типа «Дата/время», используйте YEAR( DATEVALUE( date/time ) ) ).

          Примечание
          Примечание

          Если формула ссылается на поле «Дата/время», но возвращает значение «Дата», то компонент времени игнорируется без преобразования в часовой пояс пользователя. Этот алгоритм может привести к неправильной дате. Чтобы исправить часовой пояс пользователя, используйте функцию DATEVALUE() для преобразования поля «Дата/время».

          Значение поля «Дата» может быть преобразовано в поле «Дата/время» посредством функции DATETIMEVALUE( date ). Время будет установлено на 00:00 по Гринвичу (GMT), а потом преобразовано в часовой пояс пользователя, просматривающего запись при ее отображении. Для пользователя, расположенного в Сан-Франциско, DATETIMEVALUE( TODAY() ) возвращает 17:00 предыдущего дня (по летнему времени), а не 00:00 текущего дня. Дополнительную информацию см. в подразделе «Примечание по использованию поля типа "Дата/время" и часовых поясов».

          Преобразование между датой/временем и временем

          Функция TIMEVALUE() возвращает значение типа данных Time в формате «ЧЧ:ММ:СС.МС» (часы:минуты:секунды.миллисекунды) посредством 24-часового времени. Числовые значения H/M/S/MS, а также функции HOUR(), MINUTE(), SECONDS() и MILLISECONDS() являются допустимыми параметрами для TIMEVALUE().

          Используйте функцию TIMEVALUE(value) для возврата значения типа типа «Дата/время», текста, поля слияния или выражения. Например, извлеките время из значения ClosedDate Date/Time посредством TIMEVALUE(ClosedDate).

          Преобразование даты в текст

          Чтобы добавить дату в строку, добавьте значение «Дата» в функцию TEXT() и преобразуйте его в текст. Например, если вы хотите вернуть сегодняшнюю дату в виде текста, используйте следующее:

          "Today's date is " & TEXT( TODAY() )

          Данная функция возвращает дату в формате «ГГГГ-ММ-ДД», а не в зависимом от региона формате. Формат можно изменить, сначала извлекая день, месяц и год из даты, а потом комбинируя их в нужном формате. Например:

          "Today's date is " & TEXT( MONTH( date ) ) & "/" & TEXT( DAY( date ) ) & "/" & TEXT( YEAR( date ) ) ) 

          Можно также преобразовать текст в дату, чтобы использовать строковое значение с другими полями и формулами даты. Текст должен быть отформатирован как «ГГГГ-ММ-ДД». Используйте эту формулу для возврата значения даты:

          DATEVALUE( "YYYY-MM-DD" )

          Преобразование даты/времени в текст

          Значения типа «Дата/время» могут быть добавлены в строку посредством функции TEXT(), но часовые пояса должны быть осторожными. Например, рассмотрим следующую формулу:

          "The current date and time is " & TEXT( NOW() )

          В этой формуле NOW() смещается на Гринвич. Обычно NOW() преобразуется в часовой пояс пользователя при просмотре, но, поскольку он преобразован в текст, преобразование не выполняется. Таким образом, при выполнении данной формулы 1 августа в 17:00 по времени Сан-Франциско (GMT-7) результатом будет «Текущая дата и время: 2013–08–02 00:00:00Z».

          Символ «Z», добавляемый при преобразовании значения типа «Дата/время» в текст, обозначает время по Гринвичу. TEXT( date/time ) возвращает «Z», если поле пустое. Поэтому, если значение типа «Дата/время», с которым вы работаете, может быть пустым, проверьте его перед преобразованием в текст:

          IF(
          	ISBLANK( date/time ),
          	"",
          	TEXT( date/time )
          )

          Чтобы преобразовать строку в значение типа «Дата/время», воспользуйтесь DATETIMEVALUE(), проходящим в строке в формате ГГГ-ММ-ДД ЧЧ:ММ:СС. Данный метод возвращает значение типа «Дата/время» по Гринвичу.

          Преобразование между временем и текстом

          Если вы хотите добавить время как часть строки, добавьте значение «Время» в функцию TEXT(), чтобы преобразовать его в текст. Например, если вы хотите вернуть текущее время в виде текста, используйте следующее:

          "The time is " & TEXT( TIMENOW() )

          Данная функция возвращает время в формате ЧЧ:ММ:СС.МС.

          Можно также преобразовать текст в тип данных «Время», чтобы использовать строковое значение с другими полями времени и формулами. Форматируйте текст как «ЧЧ:ММ:СС.МС» в течение 24 часов. Используйте функцию TIMEVALUE():

          TIMEVALUE("17:30:45.125")

          Примечание о дате/часовом поясе и часовых поясах

          Значения даты и даты/времени сохраняются по Гринвичу. При сохранении записи значения полей перенаправляются из часового пояса пользователя по Гринвичу, а потом возвращаются в часовой пояс пользователя при отображении на страницах сведений о записи и в отчетах. При преобразовании даты это не создает проблемы, поскольку преобразование даты/времени в дату приводит к тому же значению даты.

          Однако при работе с полями и значениями типа «Дата/время» преобразование всегда выполняется по Гринвичу, а не по часовому поясу пользователя. Вычитание стандартного поля типа «Дата/время» из другого поля не является проблемой, поскольку оба поля находятся в одном часовом поясе. Если одно из значений в вычислении является преобразованием из значения «Текст» или «Дата» в значение «Дата/время», результаты будут другими.

          Например, пользователь из Сан-Франциско вводит значение «12:00 2 августа 2013 года» в настраиваемое поле «Дата/время» под названием Date_Time_c. Данное значение сохраняется как «2013–08–02 07:00:00Z», так как разница во времени относительно Гринвича составляет 7 часов. Пользователь просматривает запись в 00:00 1 августа по Тихоокеанскому летнему времени; при этом выполняется формула ниже.

          Date_Time_c - NOW()

          При расчете NOW() является 2013/08/01 19:00:00Z, а затем вычитается из 2013/08/02 07:00:00Z, чтобы получить ожидаемый результат 0,5 (12 часов).

          Например, вместо NOW() формула преобразует строку «2013–08–01 12:00:00» в значение типа «Дата/время»:

          Date_Time_c - DATETIMEVALUE( "2013-08-01 12:00:00" )

          В этом случае DATETIMEVALUE( “2013–08–01 12:00:00” ) будет 2013–08–01 12:00:00Z и возвращает результат 0,79167, или 19 часов.

          В формуле невозможно определить часовой пояс пользователя. Если все пользователи находятся в одном часовом поясе, можно настроить разницу в часовом поясе, добавив или вычтя разницу в часовом поясе между часовым поясом пользователей и Гринвичем к преобразованным значениям. Однако, поскольку переход на летнее время может повлиять на часовые пояса, а даты начала и окончания для DST отличаются каждый год, управлять этим в формуле сложно. Рекомендуем использовать Apex для транзакций, требующих преобразования значений типа «Дата/время» в значения типа «Текст» или «Дата».

           
          Загрузка
          Salesforce Help | Article