我有一个基本的SpringBoot应用程序,嵌入式Tomcat,Thymeleaf模板引擎 我想订购数据表的1个日期列。
在我的POJO中:
public String getTimeFormatted() {
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("EEEE, MMMM d,yyyy h:mm,a", Locale.ENGLISH);
LocalDateTime dateTime = LocalDateTime.ofEpochSecond(time, 0, ZoneOffset.UTC);
return dateTime.format(formatter);
}
在模板中:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
<script src="https://cdn.datatables.net/plug-ins/1.10.15/sorting/datetime-moment.js"></script>
<script th:inline="javascript">
$(document).ready(function() {
$.fn.dataTable.moment( 'EEEE, MMMM d,yyyy h:mm,a' );
$('#table').dataTable( {
"bLengthChange": false,
"pageLength": 25,
});
} );
</script>
答案 0 :(得分:4)
这很容易调试。
我甚至做了simple example。
您在代码中使用的格式为EEEE, MMMM d,yyyy h:mm,a
(我假设在春季),但您忘记将其转换为moment
格式...和from the docs,应该是: dddd, MMMM D,YYYY h:mm,a
所以代码应该是:
$.fn.dataTable.moment("dddd, MMMM D,YYYY h:mm,a");
答案 1 :(得分:0)
就个人而言,我更喜欢使用data-order
attribute。然后,我只是将时间戳传递给epoch
或YYYYmmddHHiiss
。
您可以在此处查看示例:https://datatables.net/examples/advanced_init/html5-data-attributes.html