如何将数字更改为文字中的月

2022-04-07 00:00:00 php smarty

我需要尝试使用其他循环中的月份、日期和年份的名称下拉列表,s

我尝试将mm循环转换为字符串格式,例如第一个月为Jan,值为1

输出将低于

   <option value=1>jan</option>

我使用以下代码

<select name="dd" id="dd">
<option value="">Day</option>
{for $foo=1 to 31}
 <option value="{$foo}">{$foo}</option>
{/for}
</select>
<select name="mm" id="mm">
<option value="">Month</option>
{for $foo=1 to 12}
 <option value="{$foo}">{$smarty.now|date_format:"%b"}</option>
{/for}
</select>
<select name="yy" id="yy">
<option value="">Year</option>
{for $foo=1970 to {$foo|date_format:"%Y"}}
 <option value="{$foo}">{$foo}</option>
{/for}
</select>

请帮帮我..


解决方案

您可能会对{html_select_date}感兴趣。

{html_select_date 
  start_year=1970 
  month_format="%b" 
  field_order="dmy" 
  field_array="date" 
  prefix="" 
  day_id="dd" 
  month_id="mm" 
  year_id="yy"
}

将生成类似

的HTML
<select id="dd" name="date[Day]">
  <option value="1">01</option>
  …
  <option value="31">31</option>
</select>
<select id="mm" name="date[Month]">
  <option value="01">Jan</option>
  …
  <option value="12">Dec</option>
</select>
<select id="yy" name="date[Year]">
  <option value="1970">1970</option>
  …
  <option selected="selected" value="2012">2012</option>
</select>

提示:设置time="2011-05-17"参数以选择该日期。

相关文章