В XSL шаблон к xsl:stylesheet добавляем новые атрибуты xmlns:date="http://exslt.org/dates-and-times" и extension-element-prefixes="date", должно получится:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:hostcms="http://www.hostcms.ru/"
exclude-result-prefixes="hostcms"
xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="date">
Далее например можно записать в переменную текущую дату и вычислить разницу с другой датой с помощью date:difference(string, string).
Чтобы код работал, в настройках магазина меняем формат даты на %Y-%m-%d
в ТДС записываем текущую дату
$oCurrent_date = date('dmY'); // именно в этом формате
$Shop_Controller_Show
->addEntity(Core::factory('Core_Xml_Entity')->name('сurrent_date')->value($oCurrent_date)); // теперь в XML есть сurrent_date
В XSL шаблоне (в том месте где это нужно):
Теперь, если дата создания товара меньше 30 дней, выводим слово НОВИНКА
<xsl:variable name="current_date" select="/shop/current_date"/>
<xsl:variable name="difference_date" select="date:difference($current_date,datetime)" />
<xsl:variable name="difference_date_cut" select="substring-before(substring-after($difference_date, 'P'), 'D')" />
<xsl:if test="number($difference_date_cut) < 30"> <!-- 30 количество дней -->
<div class="ribbon-wrapper-new">
<div class="ribbon-round-new bg-color3">НОВИНКА</div>
</div>
</xsl:if>