jstl fmt标签给出的日期时间格式是什么?

时间:2018-01-18 11:16:22

标签: javascript java datatables jstl

要在JSTL中设置日期和时间格式,我们可以使用fmt标记显示here

我必须在其他前端工具(如数据表)中指定使用日期的格式。 我避免使用fmt的任何特定格式,只使用typedateStyle之类的参数来获得格式化的输出。但问题数据表需要知道格式的日期列才能正确排序这些字段。

当我使用

之类的参数时
<fmt:formatDate type = "both" dateStyle = "long" timeStyle = "long" value = "${now}" />

输出结果为:

  

2017年8月23日上午10:52:09 UTC

如何将此日期输出的格式指定为:

$.fn.dataTable.moment( 'MMMM dd, YYYY hh:mm:ss aa z' );

获得准确的排序结果。

1 个答案:

答案 0 :(得分:0)

您应该使用:

      $.fn.dataTable.moment( 'MMMM DD, YYYY hh:mm:ss A', false );

请注意,它使用Firebase Database Documentation,因为没有格式选项来表示日期的UTC部分。

以下是完整的测试用例:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"    crossorigin="anonymous"></script>
  <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
  <script type="text/javascript" charset="utf8" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
  <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
</head>
<body>
  <table id="example">
        <thead>
            <tr>
                <th>Date</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>August 23, 2017 10:52:09 AM UTC</td></tr>
            <tr><td>August 23, 2018 10:52:09 AM UTC</td></tr>
            <tr><td>August 21, 2017 10:52:09 AM UTC</td></tr>
            <tr><td>August 23, 2017 08:47:09 PM UTC</td></tr>
            <tr><td>March 29, 2017 10:52:09 AM UTC</td></tr>
            <tr><td>April 01, 2017 10:52:09 AM UTC</td></tr>
          </tbody>
        </table>
        <script>
        $(document).ready(function() {
          $.fn.dataTable.moment( 'MMMM DD, YYYY hh:mm:ss A', false );
            $('#example').DataTable();
        } );
</script>
</body>
</html>