播放框架:通过日期查看

时间:2015-01-30 07:17:43

标签: java javascript date playframework

我需要将日期参数传递给在play框架中查看

我的控制器看起来像

something.render(new Date());

在我看来,我所做的是

@(myDate : Date)
<script lang="text/javascript">
   var time = "@(myDate)";
</script>>

这个time变量我还需要在jQuery中使用。 事情是Play框架正在将日期转换为字符串对象。 我想要的是日期对象本身。

如果删除"@(myDate)"周围的引号,Java脚本会提供以下输出。

var backupTimeString = 2015-01-15 00:01:28.767;
Uncaught Syntax Error : expecte number

我真的需要将对象作为Date对象传递,而不是作为Date

的String represnetation传递

1 个答案:

答案 0 :(得分:2)

1)如果您在当地时间工作,您可以将时间作为格式化字符串传递:

something.render( ... new java.text.SimpleDateFormat("yyyy/MM/dd hh:mm:ss").format(new java.util.Date()) ...)

并将其转换为视图中的javascript日期:

<script>
  var t = new Date("@mydate");
</script>

根据http://dygraphs.com/date-formats.html格式aaaa/mm/jj hh:mm:ss是最强大的。

2)如果您不在当地工作,最近的浏览器接受ISO-8601日期与UTC的偏移,例如:

new Date('2015-01-22T12:00-0600')

3)作为最后的手段,您可以传递时间戳:

something.render(... new java.util.Date().getTime() ...)

<script>
var t = new Date(@mydate);
</script>