freemarker: Манипулировать датами [duplicate]

Здесь используется регулярное выражение, которое использует только стандартную библиотеку регулярных выражений. (Я немного ржавый, поэтому могут быть несколько синтаксических ошибок, но это, по крайней мере, общая идея)

#include <regex.h>
#include <string.h>
#include <vector.h>

using namespace std;

vector<string> split(string s){
    regex r ("\\w+"); //regex matches whole words, (greedy, so no fragment words)
    regex_iterator<string::iterator> rit ( s.begin(), s.end(), r );
    regex_iterator<string::iterator> rend; //iterators to iterate thru words
    vector<string> result<regex_iterator>(rit, rend);
    return result;  //iterates through the matches to fill the vector
}
1
задан Razor 6 August 2012 в 08:16
поделиться

5 ответов

В Velocity Tools такого метода нет.

1
ответ дан serg 24 August 2018 в 22:31
поделиться

Вы также можете сделать это в Velocity, но не с DateTool (в любом случае это относится к дополнительным функциям Velocity).

Хорошей практикой является создание объекта «Format» с различными утилитами, которые являются практичными только для презентационных целей (вы можете видеть различные структуры, которые используют Velocity, как они имеют объекты «Format»).

Таким образом, ваш код будет выглядеть как формат $ format.dateFromNow (), и будет существовать презентация подход.

1
ответ дан A. Ionescu 24 August 2018 в 22:31
поделиться

Для freemarker, возможно: Встроенные для дат .

1
ответ дан Istao 24 August 2018 в 22:31
поделиться

Вы можете написать свои собственные методы для использования в FreeMarker: http://freemarker.sourceforge.net/docs/pgui_datamodel_method.html

создать DataAddMethod, который выполняет эту логику .

0
ответ дан koljaTM 24 August 2018 в 22:31
поделиться

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

${(mydate?long - 18 * 86400000)?number_to_date?string("yyyy-MM-dd")}

, например, вычитает 18 дней с mydate. (Обратите внимание, что 86400000 - это количество миллисекунд в день)

3
ответ дан Stefan Haberl 24 August 2018 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: