【发布时间】:2011-11-28 06:20:10
【问题描述】:
我有生成日期字段
<?php $date = 11/12/2011;
$evdate = explode("/", $date);
$exday = $evdate[0];
$exmonth = $evdate[1];
$exyear = $evdate[2]; ?>
我需要从$exmonth.输出以下内容
“这个月是十二月”
我应该如何将数值格式化为文本(即 feb,jan )?
【问题讨论】:
我有生成日期字段
<?php $date = 11/12/2011;
$evdate = explode("/", $date);
$exday = $evdate[0];
$exmonth = $evdate[1];
$exyear = $evdate[2]; ?>
我需要从$exmonth.输出以下内容
“这个月是十二月”
我应该如何将数值格式化为文本(即 feb,jan )?
【问题讨论】:
echo 'This month is ' . date('F', mktime(0, 0, 0, $exday, $exmonth, $exyear));
http://php.net/manual/en/function.date.php
M :一个月的简短文本表示,三个字母(Jan
到 12 月)F :一个月的全文表示,例如
一月或三月 一月至十二月【讨论】:
date 需要一个时间戳,只传递月份值 won't work。
完整月份名称:(十二月)
echo 'The month is ' . date( 'F', mktime( 0, 0, 0, $exmonth, $exday, $exyear));
三个字母的月份名称:(Dec)
echo 'The month is ' . date( 'M', mktime( 0, 0, 0, $exmonth, $exday, $exyear));
【讨论】:
您可以使用strftime() 和mktime():
echo strftime("This month is %B", mktime(0, 0, 0, $exmonth, $exday, $exyear));
mktime 调用将您的数字转换为 php 日期对象,strftime 代表“字符串格式化时间”,并将根据给定的模式格式化您的时间。这里,%B 是用于给出月份名称的代码。您可以在文档中看到可用于其他日期组件的所有代码。
【讨论】: