2017-08-29 140 views
0

我找不到与我正在尝试解决的任何文档有关的问题,因此我在此处询问。Laravel Carbon - 重新加载当前时间

我的控制器使用拉这个碳日期:

$utctime = Carbon::now()->toTimeString();

该代码可以让我显示我的网页上的UTC时间。问题在于,Carbon只会加载一次(在页面加载时)并且该时间停留。我想要的是碳显示实时,并不需要页面重新加载。

我猜这可能不会更新时间,因为碳不是前端?如果是这样,你会如何每秒更新时间而不是更新? - 也许我可以使用前端的东西?

+0

像某种时钟的,对不对? – Hackerman

+0

为什么不在页面加载时拉一次,然后让JavaScript继续更新呢? – Giedrius

+0

@Hackerman是的,这是正确的。 – spacetravel

回答

1

添加在Javascript中一个基本的滴答作响的时钟是相当简单:

<div id="time"></div> 

<script type="text/javascript"> 
    function showTime() { 
    var date = new Date(), 
     utc = new Date(Date.UTC(
      date.getFullYear(), 
      date.getMonth(), 
      date.getDate(), 
      date.getHours(), 
      date.getMinutes(), 
      date.getSeconds() 
     )); 

    document.getElementById('time').innerHTML = utc.toLocaleTimeString(); 
    } 

    setInterval(showTime, 1000); 
</script> 

这将是完全基于前端,并确保没有一个“跳”最初呈现的服务器时间和之间用户的当地时间。

+0

可以输出UTC时间而不是当地时间吗?时钟工作,但它显示我的当地时间。谢谢! – spacetravel

+1

@spacetravel编辑。 JS真的不是处理日期的最好语言,所以如果你想做比这更复杂的任何事情,我建议看看像[Moment.js](https://momentjs.com/)这样的库, – iainn

相关问题