使用时刻 js 将 mysql 日期中的组 concat 更改为印度尼西亚日期格式

Posted

技术标签:

【中文标题】使用时刻 js 将 mysql 日期中的组 concat 更改为印度尼西亚日期格式【英文标题】:Change group concat in mysql date to Indonesian date format using moments js 【发布时间】:2016-04-25 18:04:38 【问题描述】:

我将使用时刻将来自数据库的日期转换为区域设置日期格式(印度尼西亚)。使用 codeigniter 框架通过事件单击在模态引导中创建 Node.js。

这是我的架构数据库设计 这是我通过事件点击查看的 js

 $('.pengajuan-cuti').on("click",function(event) 
    event.preventDefault();
    var id = $(this).data('id');
    $.ajax(
            url: base_url + "pengajuancuti/detail/" + id,
            type: "GET",
            dataType: "JSON",
            success: function(data) 
             //change single date to indonesia date 
            var cu_propose_date=data.tanggal_cuti;
            var cu_propose_date1 = new moment(cu_propose_date).format('DD-MM-YYYY');
            change date came from GROUP_CONCAT mysql
            var tanggal_cuti=data.tanggal_cuti;
            var tanggal_cuti1 = new moment(tanggal_cuti).format('DD-MM-YYYY');
            $('[name="tanggal_ambil_cuti"]').val(data.tanggal_cuti);
            $('[name="cu_propose_date"]').val(cu_propose_date1);
            $('#cu_status_approve').val(tanggal_cuti1).attr("selected", "selected");
            ,
            error: function(jqXHR, textStatus, errorThrown) 
                alert('Error get data from ajax');
            
        );

那么这是我的控制器

public function detail($id)

    $data = $this->Pengajuan_model->getemployeedetail($id);
    echo json_encode($data);

这是我的模型

function getemployeedetail($id)

    $query = $this->db->query("SELECT *, GROUP_CONCAT(cu_date_date SEPARATOR ',') as tanggal_cuti FROM cu_cuti a, cu_employee b, cu_date_cuti c where a.cu_id_cuti_employee=b.cu_id_employee 
    and a.cu_cuti_date_id=c.cu_date_cuti_id and a.cu_id_cuti='$id'");
    return $query->row();

这是我的结果日期错误 pengajuan cuti,

pengajuan cuti 值存储在数据库中,如下所示:2016-02-14,2016-02-16,2016-02-17,2016-02-18

我知道我使用 moment js 是错误的,但我怎样才能让 group concat 也可以在单个日期工作?

这是我的简单demo

【问题讨论】:

您好,欢迎您。照原样,你的问题很不清楚。请阅读How do I ask a good question? 和How to create a Minimal, Complete, and Verifiable example。谢谢。 嘿 @MattJohnson 它已经由我自己解决了,请看答案,我只需要 group_concat(cu_date_date) 格式为 dd-mm-YYYY 【参考方案1】:

在挖了一个小时并离开了一天之后,我找到了另一种方法可以使用 convert mysql date 将它全部转换为印度尼西亚日期,所以我在这里更改了下面的模型

 function getemployeedetail($id)
    
        $query = $this->db->query("SELECT *, GROUP_CONCAT( DATE_FORMAT( cu_date_date, '%d-%m-%Y' ) SEPARATOR ',') as tanggal_cuti FROM cu_cuti a, cu_employee b, cu_date_cuti c where a.cu_id_cuti_employee=b.cu_id_employee 
        and a.cu_cuti_date_id=c.cu_date_cuti_id and a.cu_id_cuti='$id'");
        return $query->row();
    

希望这对将来的穷程序员有所帮助!

【讨论】:

以上是关于使用时刻 js 将 mysql 日期中的组 concat 更改为印度尼西亚日期格式的主要内容,如果未能解决你的问题,请参考以下文章

使用特定格式验证时刻 js 中的日期

节点js中的日期格式转换

尝试在 moment.js 中转换 RFC2822 日期时出现“弃用警告:时刻构造回退到 js 日期”

如何将日、月和年添加到赛普拉斯中的选定日期

JDBC:将日期值插入 MySQL

markdown js日期(时刻js)