Как я могу изменить строку в дату в жидкости? - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь получить ввод в виде цифр из IVR или телефона и хотел бы преобразовать строку в дату, чтобы при повторении введенных цифр она повторялась как дата. Например, он должен читать 09011990 как 1 сентября 1990 года. Я использовал это {{widgets.Date.Digits |сплит: "" |join: ","}} для предыдущего ввода, где я разделил бы все свои цифры, но не смог найти способ, где я могу разделить цифры в виде 2 цифр для месяца, 2 для дня и 4 для года и использовать"/", чтобы его можно было различить как дату.

1 Ответ

0 голосов
/ 11 ноября 2019

Если вы знаете, что ваши «цифры даты» всегда будут в одном и том же порядке, вы можете использовать фильтр slice, чтобы назначать разные части числа переменным. Например, допустим, у нас есть дата в виде переменной с именем date_digits:

{%- assign month = date_digits | slice: 0, 2 %}
{%- assign day   = date_digits | slice: 2, 2 %}
{%- assign year  = date_digits | slice: 4, 4 %}

Затем мы можем использовать capture, чтобы объединить все три значения в строку, которая может быть проанализирована фильтром date,Из моего тестирования фильтр date действительно предпочитает день, месяц и год заказа:

{%- capture date_string %}{{ day }}/{{ month }}/{{ year }}{%- endcapture %}

Наконец, мы можем использовать фильтр date, чтобы отобразить нашу удобочитаемую дату:

{{ date_string | date: "%B %d, %Y" }}

Производит September 01, 1990.

Это довольно хрупкое решение, но возможно использование только Liquid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...