我有一个简单(但有趣)的查询。
我正在获得月份名称,简而言之,就像Jan,Feb等。现在我需要将其转换为月份数(即一个月的数字表示),带前导零 < / p>
示例:“Jan”到“01”,“Dec”到“12”等
任何人都知道,如何实现这一点,不使用数组
由于
答案 0 :(得分:16)
$month = 'Feb';
echo date('m', strtotime($month));
strtotime
将“2月”转换为 2011年2月6日15:15:00 的时间戳(在撰写本文时),从给定的字符串中获取所需内容并填写从当前时间的空白。 date('m')
然后格式化此时间戳,仅输出月份数。
由于这可能会导致问题,例如31日,你应该填写这些空白以确定:
echo date('m', strtotime("$month 1 2011"));
答案 1 :(得分:2)
$date = strtotime ("Jan");
print date("m", $date);
有关strtotime的更多信息:PHP: strtotime - Manual
更多日期:PHP: date - Manual
答案 2 :(得分:2)
试试这个
$test //whatever you getting
echo date("m",strtotime($test));
另见
答案 3 :(得分:1)
strtotime会做到这一点。
前:
$monthName = 'Jan';
echo date('m', strtotime($monthName));
答案 4 :(得分:1)
鉴于你已经有了约会。
$date = 'Jun';
$month = date('m', strtotime($date));
答案 5 :(得分:1)
将它与日期和年份一起使用将保持良好状态:
$mon = 'Feb';
$month = date("F d Y",strtotime("$mon 31, 2010"));
它会正常工作。
答案 6 :(得分:-1)
这对我不起作用:
$mon = 'Aug';
$month = date("F",strtotime($mon));
我得到“十二月”???
然而,如果我把它放在一天和一年,它转换得很好:
$mon = 'Aug';
$month = date("F d Y",strtotime("$mon 31, 2011"));
它有效。
运行PHP版本5.1.2