Jquery 怎么给时间 加一个小时???

starrycheng 2014-12-19 11:18:15
var event_EndTime = event_StartTime.setHours(event_StartTime.getHours()+1);
为什么“getHours()”然后“setHours”,时间会变成“1416882600000”???



...全文
1253 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38413061 2019-01-10
  • 打赏
  • 举报
回复
<script type="text/javascript">// <![CDATA[

//表单加载钱初始化开始时间为当前时间后一小时
window.onload = function(){
var date = new Date();
$("#KSSJ").val(AddHour(date));
}
//添加一小时3600*1000毫秒
AddHour= function (date,hour) {
var  time = date.getTime() +3600*1000;
return getFormatTime(time);
function getFormatTime(time) {
date.setTime(time);
return date.format("yyyy-MM-dd hh:mm:ss");
}
}
//时间戳转换为日期格式,并判断年月日的累加
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}

if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}

for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}
// ]]></script>

}
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}

if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}

for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}

</script>
<html>
[/code][/quote]


写的很好,完全引用就可以。
starrycheng 2015-01-27
  • 打赏
  • 举报
回复
先转化为时间类型,然后获取小时,加上一小时。
haohaoxuexihere 2014-12-23
  • 打赏
  • 举报
回复
通过这个方式去转化一下, 方法 eval的用法 eval('new ' + '\/Date(1407636000000)\/'.replace(/\//g, "")); 这样转换就可以了,因为json的时间是 Sun Aug 10 2014 10:00:00 GMT+0800 (中国标准时间)
starrycheng 2014-12-23
  • 打赏
  • 举报
回复
引用 4 楼 u013161610 的回复:
[quote=引用 3 楼 u013161610 的回复:]
var c=new Date();
c.setHours(c.getHours()+10);
return c;
这样就行了把
setHours()的返回值是类似1416882600000的数字,所以应该改成:
var event_EndTime = new Date(event_StartTime);
event_EndTime.setHours(event_EndTime.getHours()+1);
[/quote] 先改为时间类型,然后再sethours...
qzyf1992 2014-12-23
  • 打赏
  • 举报
回复

   <html>
<script>
  window.onload = function(){
		var date = new Date();
		alert(AddHour(date));
  }
	
   AddHour= function (date,hour) {

        var  time = date.getTime() +3600*1000;

        return getFormatTime(time);

        function getFormatTime(time) {

            date.setTime(time);

            return date.format("yyyy-MM-dd hh:mm:ss");

        }

    }
	Date.prototype.format = function (format) {
        var o = {
            "M+": this.getMonth() + 1, //month
            "d+": this.getDate(), //day
            "h+": this.getHours(), //hour
            "m+": this.getMinutes(), //minute
            "s+": this.getSeconds(), //second
            "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
            "S": this.getMilliseconds() //millisecond
        }

        if (/(y+)/.test(format)) {
            format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        }

        for (var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
            }
        }
        return format;
    }

</script>
<html>
starrycheng 2014-12-19
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
Date的getHours()加上,然后在组合成Date
除了 var Year_Now = d_Now.getFullYear(); var Mon_Now = d_Now.getMonth(); var Day_Now = d_Now.getDate(); var h_Now = d_Now.getHours(); var m_Now = d_Now.getMinutes(); var se_Now = d_Now.getSeconds(); 拼接重新拼接,还有别的方法么?????????????
bdmh 2014-12-19
  • 打赏
  • 举报
回复
Date的getHours()加上,然后在组合成Date
  • 打赏
  • 举报
回复
操作date是原生js的事情,跟jquery无关
欧耶ABC 2014-12-19
  • 打赏
  • 举报
回复
引用 3 楼 u013161610 的回复:
var c=new Date();
c.setHours(c.getHours()+10);
return c;
这样就行了把
setHours()的返回值是类似1416882600000的数字,所以应该改成:
var event_EndTime = new Date(event_StartTime);
event_EndTime.setHours(event_EndTime.getHours()+1);
欧耶ABC 2014-12-19
  • 打赏
  • 举报
回复
var c=new Date();
c.setHours(c.getHours()+10);
return c;
这样就行了把

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧