如何将 "N" 天添加到 $smarty.now?

How to add "N" days to $smarty.now?

我的页面中有一个名为 'priceValidUntil' 的参数,对于此参数,我有以下行:

<meta itemprop="priceValidUntil" content="{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}">

我想给 $smarty.now 值增加 15 天,所以我添加了这个:

 <meta itemprop="priceValidUntil" content="{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S' + 15 }">

输出是这样的:

 <meta itemprop="priceValidUntil" content="2024-04-27 23:04:05">

我要:

<meta itemprop="priceValidUntil" content="2019-05-12 23:04:05">

如何添加天而不是年?

方法一

根据 this link,您似乎可以这样做,也许可以通过添加:

 {$smarty.now+24*60*60*15|date_format:'%Y-%m-%d %H:%M:%S'}

到您的 content 属性。

  • 数字中,24是小时,其中一个60代表分钟,另一个60代表秒,乘以15天,就是计算出你要加到$smarty.now变量的秒数。

  • 那么,您的代码可能如下所示:

    <meta itemprop="priceValidUntil" content="{$smarty.now+15*24*60*60|date_format:'%Y-%m-%d %H:%M:%S'}">
    

方法二

你可以试试这个:

{"+15 days"|strtotime|date_format:'%Y-%m-%d %H:%M:%S'}

那么,您的代码可能如下所示:

<meta itemprop="priceValidUntil" content="{$smarty.now+1296000|date_format:'%Y-%m-%d %H:%M:%S'}">

使用这两种方法来尝试哪一种更适合您。 例如在 Prestashop 1.6.x 可以使用方法 2,没有错误。