[英]How to use php and javascript to add/sub hours to a mysql datetime string
我有從mysql查詢返回的datetime字符串。 我想動態增加/減少小時數(時區支持)。 這些mysql datetime字符串保存在隱藏的html頁面元素中,以進行javascript操作。
頁面的第一次渲染根據用戶選擇的“默認”時區處理mysql datetime字符串。 如果用戶需要,Javascript將在以后更改這些值。
如何使用php在mysql datetime字符串中增加小時數?
您如何使用JavaScript將小時數添加到mysql datetime字符串中?
我已經看到了一些非常奇特的操作來獲取這些區域調整后的值,但是必須有一個簡單的方法來添加/添加幾個小時。
new Date (new Date().toDateString('yourdate') + ' ' + '00:30');
參考的Codepen URL- http: //codepen.io/nagasai/pen/WxwGrE
我將30分鍾添加到我定義的日期值中,您可以用數據庫中的數據替換該日期值,並且添加/減少小時,分鍾甚至秒
對於PHP,您可以使用DateTime對象,然后使用add方法:
$datestring = "2016-05-01 12:30:00"; // This would come from the SQL database
$date = new DateTime($datestring);
$date->add(new DateInterval('PT2H'));
DateTime::add()
的文檔可以在以下位置找到: http : //php.net/manual/en/datetime.add.php
它需要一個DateInterval作為參數,DateInterval格式的文檔在這里: http : //php.net/manual/en/dateinterval.construct.php
對於Javascript,我發現Moment
庫非常有用: http : //momentjs.com/
就像PHP對象一樣,您可以創建一個新的Moment
實例並調用add方法:
var datestring = "2016-05-01 12:30:00"; //Again this would come from your backend database
var day = moment(datestring);
day = day.add(2, "hours");
如果您不想使用Moment
,則可以在javascript中使用Date
對象: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
var date = new Date(datestring);
date.setHours(date.getHours() + 2); // Adds 2 hours
date.setMinutes(date.getMinutes() + 20); // Adds 20 mins
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.