Мне нужно изменить часовой пояс, чтобы удалить 6 часов по сравнению с тем, что SFMC отображает в моем SMS через Journey Builder.

Например, в Salesforce Service Cloud у меня назначена встреча на 6:00, а с приведенным ниже кодом у меня есть SMS, отображающее 12:00.

%%[
SET @d=Format(SystemDateToLocalDate(FormatDate(AttributeValue('Event:StartDateTime'), "iso")), "dd/MM/yyyy à h:mm" , "date")=
]%%
RDV confirmé le %%=v(@d)=%% chez MM %%Event:Magasin__r:Name%% 

Можете ли вы исправить мне правильный код, чтобы отображался хороший час?

0
Niko 21 Авг 2021 в 19:11
Удалить 6 часов достаточно просто, но сначала нужно проверить, можете ли вы просто упростить это. Что происходит, когда вы используете SET @d = FormatDate(SystemDateToLocalDate("Event:StartDateTime"), "DD/MM/YYYY", "à hh:mm", "fr-FR")? И нужно ли вам переход на летнее время в любое время года?
 – 
Jarrett Bush
20 Авг 2021 в 03:00
Хорошо, я попытался упростить, но я получил сообщение с отображением кода. Это полный код, который я пробовал. SET @d = FormatDate(SystemDateToLocalDate("Event:StartDateTime"), "DD/MM/YYYY", "à hh:mm", "fr-FR") Подтверждение RDV %%=v(@d)=%% chez MM %%Event:Magasin__r:Name%%.
 – 
Anne-Sophie
20 Авг 2021 в 09:08
Вам по-прежнему нужен код блока AMPScript, например, %%[ SET @d = FormatDate(SystemDateToLocalDate("Event:StartDateTime"), "DD/MM/YYYY", "à hh:mm", "fr-FR")] %% RDV подтверждает le %%=v(@d)=%% chez MM %%Event:Magasin__r:Name%%
 – 
Jarrett Bush
20 Авг 2021 в 09:55
И да, мне понадобится летнее время, применяемое в любое время года :)
 – 
Anne-Sophie
20 Авг 2021 в 11:42
Этот код работает, но мне просто нужно добавить 6 часов в отображаемый час. Можешь мне помочь ? %%[ SET @d=Format(SystemDateToLocalDate(FormatDate(AttributeValue('Event:StartDateTime'), "iso")), "dd/MM/yyyy à h:mm", "date")=]%% RDV confirmé le %%=v(@d)=%% chez MM %%Event:Magasin__r:Name%%
 – 
Anne-Sophie
20 Авг 2021 в 21:35

2 ответа

Лучший ответ

Код, который вам нужен:

%%[ SET @d = FormatDate(DateAdd(SystemDateToLocalDate("Event:StartDateTime"), 6, "H"), "DD/MM/YYYY", "à hh:mm", "fr-FR") ]%%
RDV confirmé le %%=v(@d)=%% chez MM %%Event:Magasin__r:Name%%

Это добавит 6 часов. Если вы хотите вычесть 6 часов, измените 6 на -6.

0
Jarrett Bush 23 Авг 2021 в 06:54
Работает, большое спасибо :)
 – 
Anne-Sophie
23 Авг 2021 в 23:17

Если вы просто хотите вычесть 6 часов, вы можете использовать функцию DateAdd AMPscript и сделать свой код похожим на этот. -

%%[
SET @d = Format(SystemDateToLocalDate(FormatDate(DateAdd(AttributeValue('Event:StartDateTime'), -6, "H"), "iso")), "dd/MM/yyyy à h:mm" , "date")
]%%
RDV confirmé le %%=v(@d)=%% chez MM %%Event:Magasin__r:Name%%

Это, однако, не будет учитывать переход на летнее время, и есть почти 2 варианта:

  • Не забывайте учитывать при необходимости и обновлять код/даты вручную.
  • Попробуйте заранее настроить даты через SQL с помощью функции AT TIME ZONE. Прочтите эту статью Разобраться как это работает, пока результат не гарантирован.
0
Niko 21 Авг 2021 в 12:45