Получить дату, если указан месяц php - PullRequest
0 голосов
/ 21 февраля 2019

Я не хочу использовать средство выбора даты, потому что мне не нужен год, поэтому я создаю 2 списка выбора, где мой первый выбор будет месяцем, а второй - днями.

Все хорошо, этосохранит в моей БД, но вот моя проблема.Я хочу отобразить полное имя месяца вместо номера.

Пример:

Accounting Period

(Month list)   (Day list)
 0-12             1-31

Сценарий: я выбираю октябрь в качестве моего месяца, а 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.

Теперь мой вопрос, как я могу отобразить словоОктябрь вместо 10?

Ответы [ 5 ]

0 голосов
/ 21 февраля 2019

Поскольку в вашем вопросе есть тег Laravel:

$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))}}
0 голосов
/ 21 февраля 2019

Вот несколько способов печати месяца с заданного числа.

1.Функция date () вместе с параметром 'F'

Пример кода:

$month_num = 10;
echo date("F", mktime(0, 0, 0, $month_num, 10)); //output: October

2.Путем создания объекта даты php с помощью createFromFormat ()

Пример кода

$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
0 голосов
/ 21 февраля 2019
$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 .

0 голосов
/ 21 февраля 2019

Использование Углерод

{{ Carbon\Carbon::createFromDate(2019,$company_details->accounting_period_month,01)->format('M') }}
0 голосов
/ 21 февраля 2019

попробуйте этот код.

Создайте массив и определите весь месяц.

Здесь код для 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];
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...