我不想使用datepicker因为我不需要年份所以我创建了2个选择列表,其中我的第一个选择将是月份,第二个是日期。
一切都很好,它将保存在我的数据库中,但这是我的问题。我想显示月份的全名而不是数字。
例:
Accounting Period
(Month list) (Day list)
0-12 1-31
场景:我选择oct作为我的月份,5是我的日子。
value="10" Oct value="5" 5
视图
Select Month List
<select name="accounting_period_month">'+
'<option value="01">January</option>'+
'<option value="02">February</option>'+
'<option value="03">March</option>'+
'<option value="04">April</option>'+
'<option value="05">May</option>'+
'<option value="06">June</option>'+
'<option value="07">July</option>'+
'<option value="08">August</option>'+
'<option value="09">September</option>'+
'<option value="10">October</option>'+
'<option value="11">November</option>'+
'<option value="12">December</option>'+
'</select>
它将保存为10和5。
查看显示月份列表
{{ date('M',strtotime($company_details->accounting_period_month))}}
注意:不要介意'+因为我将它添加到我的jquery中。
现在我的问题是如何显示单词Oct而不是10?
这是从给定数字打印月份的多种方式。
1. date()函数以及参数'F'
代码示例:
$month_num = 10;
echo date("F", mktime(0, 0, 0, $month_num, 10)); //output: October
2.使用createFromFormat()创建php日期对象
代码示例
$dateObj = DateTime::createFromFormat('!m', $monthNum);
echo "month name: ".$dateObj->format('F'); // Output: October
3. strtotime()函数
echo date("F", strtotime('00-'.$monthNum.'-01')); // Output: October
4. mktime()函数
echo date("F", mktime(null, null, null, $monthNum)); // Output: October
5.使用jdmonthname()
$jd=gregoriantojd($monthNum,10,2019);
echo jdmonthname($jd,0); // Output: Oct
使用Carbon
{{ Carbon\Carbon::createFromDate(2019,$company_details->accounting_period_month,01)->format('M') }}
$monthNum = 3;
$dateObj = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F'); // March
对于旧版本的PHP
$monthNum = 3;
$monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // March
如果您只需要3个字母的月份名称示例Mar,则可以将F更改为M.可以在PHP manual documentation中找到所有可用格式选项的列表。
由于您的问题中有Laravel Tag:
$data = YourModel::select('*')
->addSelect(DB::raw('MONTHNAME(accounting_period_month) AS month_name')
->get();
print_r($data);
见@Karol Samborski评论,
我不明白下面的陈述是什么问题
{{ date('M',strtotime($company_details->accounting_period_month))}}
试试这段代码。
创建一个数组并定义整月。
这里是javascript的代码。
<script type="text/javascript">
var i = 10;
var month = ["jan", "feb", "march", "april", "may", "jun", "july","aug",
"sep","oct","nov","dec"];
console.log(month[i-1])
</script>
这里代码为Php
<?php
$i = 10;
$month = array("jan", "feb", "march", "april", "may", "jun",
"july","aug", "sep","oct","nov","dec");
echo $month[$i-1];
?>