【问题标题】:dataTables Date sorting and MomentJSdataTables 日期排序和 MomentJS
【发布时间】:2020-09-03 12:26:19
【问题描述】:

我正在使用带有 MomentJS 的 dataTables 对带有日期的表格进行排序。

这排序/工作正常:

    <table id="testTable" class="table table-bordered">
                <thead>
            <tr>
                        <th class="all">Title</th>
                <th class="tablet-p tablet-l desktop  text-center">Category</th> 
                <th class="tablet-p tablet-l desktop  text-center">Date</th> 
                </tr>
        </thead>
                
            
                <!-- TABLE BODY -->
                <tbody>
                <tr>
                        <td ><a href='#' >Test 1</a></td>
                        <td  class="text-center" align="center" >2</td>
                        <td  class="text-center" align="center" >01 Oct 2020</td>
                  </tr>
                    <tr>
                        <td ><a href='#' >Test 2</a></td>
                        <td  class="text-center" align="center" >8</td>
                        <td  class="text-center" align="center" >01 Apr 2020</td>
                  </tr>
                    <tr>
                        <td ><a href='#' >Test 2</a></td>
                        <td  class="text-center" align="center" >2</td>
                        <td  class="text-center" align="center" >10 Sep 2020</td>
                    </tr>
                    <tr>
                        <td ><a href='#' >Test 1</a></td>
                        <td  class="text-center" align="center" >2</td>
                        <td  class="text-center" align="center" >20 Aug 2020</td>
                    </tr>
                    <tr>
                        <td ><a href='#' >Test 5</a></td>
                        <td  class="text-center" align="center" >2</td>
                        <td  class="text-center" align="center" >12 Dec 2020</td>
                    </tr>
                </tbody>
            </table>

但我想在这个日期排序:

<td  class="text-center" align="center" >01 - 12 Oct 2020</td>

理想情况下,我想使用这样的东西,这样数据只在日期的第二部分排序:

$.fn.dataTable.moment('[%wildcard% -] DD MMM YYYY');
$('#testTable').DataTable();

这是可能的还是有不同的解决方案?

【问题讨论】:

  • 所以你只想按日期排序?还是日期的最后一部分?因此,在您的示例中,按 12 Oct 2020? 排序
  • 你好,是的,完整的约会会很棒,但我会对约会的最后一部分感到满意​​12 Oct 2020

标签: datatables momentjs


【解决方案1】:

我找到了一个解决方案 - 我使用 php 从日期的最后部分创建时间戳,并将其添加到数据属性中以便对其进行排序:

&lt;td class="text-center" align="center" data-sort="1602460800"&gt;01 - 12 Oct 2020&lt;/td&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多