2017-08-29 47 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

相關問題