[英]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.