2016-01-10 58 views
0

我有Thymeleaf代码(此代码需要我补充参数jQuery的 - 的DatePicker):如何使用Thymeleaf将org.joda.time.LocalDateTime转换或反序列化为毫秒?

<table th:attr="data-availible-dates=${defoultSetting.avalibleDates}"> 

现在页面看起来像:

data-availible-dates="[2014-01-09T00:00:00.000, 2014-01-14T00:00:00.000, 2014-01-10T00:00:00.000, 2014-01-23T00:00:00.000, 2014-01-15T00:00:00.000, 2014-01-06T00:00:00.000, 2014-01-24T00:00:00.000, 2014-01-20T00:00:00.000, 2014-01-16T00:00:00.000, 2014-01-21T00:00:00.000, 2014-01-08T00:00:00.000, 2014-01-22T00:00:00.000, 2014-01-17T00:00:00.000, 2014-01-13T00:00:00.000]" 

,但我不会将转换为毫秒这样的例子:

data-availible-dates="[1451170800000, 1452380400000, 1452466800000, 1452553200000]" 

我可以使用Thymeleaf做出类似JsonDeserializer东西..这将数据转换为毫秒之前建立的页面?

结果:

我决定送毫秒的列表,第二我使用的情况下,现在下面的代码时,需要从服务器端变量添加到JS:

<script type="text/javascript" th:inline="javascript"> 
/*<![CDATA[*/ 
    var avalibleDates = /*[[${defoultSetting.avalibleDates}]]*/; 
/*]]>*/ 
</script> 

回答

1

嗯,看起来并不像Thymeleaf那样有内置功能。 但是你可以编写简单的JavaScript函数来DateTime转换为以毫秒为单位,使用以下功能:

var myDate = new Date("2012-02-10T13:19:11+0000"); 
var result = myDate.getTime(); 

在另一方面,如果你需要在毫秒的时间,你为什么不把它转换在Java端并发送处理后的最终变量集(包含以毫秒为单位的时间)给Thymeleaf?

+0

你好,“为什么你不会在Java端进行转换” - 因为我的变量类型为org.joda.time.LocalDateTime,并且如果我将它们保留在毫秒内,并且想要操作 - 它将会冗余 –

+1

但建议使用js进行转换有一定意义,我会稍后再尝试,如果它会有结果 - 我会让大拇指 –

+0

我更新后... –