如何在将数据发送到数据库时更改日期格式?

时间:2015-06-19 05:08:25

标签: php mysql codeigniter date

我正在使用jquery完整日历来显示一些预订详情。我以("yyyy-MM-dd")格式将日期插入数据库。

但是当我使用var title=$("#calendar").fullCalendar('getView').title;从日历中检索标题值时,它会输出为“2015年6月”。后来我用这两天进行比较。因此,我需要以“2015年6月19日”格式将日期发送到数据库,或将标题日期值转换为“06 2015”。

如果有人对此有明确的想法,请帮助我。希望问题很清楚。我正在使用codeignier,我使用以下cotroller方法将数据发送到数据库。

function add_reservation() {
        $reservation_model = new Reservation_model();
        $reservation_service = new Reservation_service();

        $reservation_model->set_date_cal(trim($this->input->post('date', TRUE)));
       // $reservation_model->set_date(strtotime($this->input->post('date', TRUE)));
        $reservation_model->set_title(trim($this->input->post('selected_hall', TRUE)));
        $reservation_model->set_type(trim($this->input->post('selected_time', TRUE)));
        $reservation_model->set_description(trim($this->input->post('name', TRUE)));
        $reservation_model->set_advanced_payment_status(trim($this->input->post('optionsRadios', TRUE)));
        //$reservation_model->set_advanced_payment_status(trim($this->input->post('no', TRUE)));
        $reservation_model->set_paid_amount(trim($this->input->post('paid_amount', TRUE)));
        $reservation_model->set_fax(trim($this->input->post('fax', TRUE)));
        $reservation_model->set_telephone_number(trim($this->input->post('telephone', TRUE)));
        $reservation_model->set_address(trim($this->input->post('address', TRUE)));
        $reservation_model->set_menu_no(trim($this->input->post('selected_menu_number', TRUE)));
        $reservation_model->set_menu_price_per_plate(trim($this->input->post('menu_price', TRUE)));
        $reservation_model->set_is_deleted('0');

        $this->db->last_query();

        echo $reservation_service->add_reservation($reservation_model);


}

基本上我想将我发送到数据库的日期格式更改为“2015年6月19日”

3 个答案:

答案 0 :(得分:1)

不要更改MySQL格式。更改你的html或保持每件事与现在一样,并使用javascript将其转换为mysql格式。

var title=$("#calendar").fullCalendar('getView').title; // "June 2015"
var d = new Date(title);
var title = d.getFullYear() + "-" +( d.getMonth() + 1); // "2015-6"

现在,您可以进行比较。如果您正在寻找其他内容,请告诉我。

答案 1 :(得分:0)

将您的日期视为2015-06-19,将您的数据库日期视为June 2015

<?php
$date = "2015-06-19";
$month = date("F", strtotime($date));
$year = date("Y", strtotime($date));
$MyDate = $month.' '.$year;
$MyDBDate = "June 2015";

if ($MyDate == $MyDBDate) 
{
    # Your Action Here
}

您可以根据需要更改条件或日期。

此处为您EVAL Link

更新:

使用Javascript版本更新,以根据OP的请求

进行比较
<script>
var MyDate = "<?php echo $MyDate?>";
var MyDBDate = "June 2015";
if (MyDate ==MyDBDate) 
{
    alert('Match');
} else {
    alert('Not a Match');
}
</script>

答案 2 :(得分:0)

格式化日期

 $newDate = date('d F Y',strtotime($_POST['date']));

FROM Database SQL

DATE_FORMAT(DateValueDb,'%d %b %Y')