为什么用
echo date("Ymd", strtotime("20071101 +10 day"));
可以得到10天后为20071111 (在本地win32,php5.)
而到了租用的linux空间上,结果就变成了19691231?
我现在就想得到指定某天的N天后的日期,请高手另赐一个通用的写法。
谢谢!!!
谢了,但是我问的是指定某天的第N天后,例如2007-11-10的第N天后是几号。而不是当前日期的第N天后。
当前日期的第N天后直接用date("Y-m-d",strtotime("+N day"));就行了。呵呵,大家一起交流一下。
今天看了很多e文版的手册,搞定了。呵呵!!!
PHP得到某天N天后的问题
答案:2 悬赏:20 手机版
解决时间 2021-02-01 15:49
- 提问者网友:疯子也有疯子的情调
- 2021-02-01 12:02
最佳答案
- 五星知识达人网友:过活
- 2021-02-01 13:17
echo date("Ymd", time()+10*24*3600);
?>
这才是正确的方法,在任何操作系统和版本下面均正确,time获取当前时间(实际上是从 Unix 纪元《格林威治时间 1970 年 1 月 1 日 00:00:00》到当前时间的秒数),加号后面的10表示10天、每天24小时、每小时3600秒。修改10可以实现加上或者减去别的天数。
补充:
echo date("Ymd", strtotime("2007-11-01")+10*24*3600);
?>
这才是正确的方法,在任何操作系统和版本下面均正确,time获取当前时间(实际上是从 Unix 纪元《格林威治时间 1970 年 1 月 1 日 00:00:00》到当前时间的秒数),加号后面的10表示10天、每天24小时、每小时3600秒。修改10可以实现加上或者减去别的天数。
补充:
echo date("Ymd", strtotime("2007-11-01")+10*24*3600);
全部回答
- 1楼网友:往事隔山水
- 2021-02-01 13:57
<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;
}
var addndays=function(date,n){
var d = new date(date.parse(date.replace(/-/g,"/")));
var time=d.gettime();
var newtime=time+n*24*60*60*1000;
return new date(newtime);
};
var nd = addndays('2013-12-27',6);
var getnewday = nd.format('yyyy-mm-dd hh:mm:ss');
alert(getnewday);
</script>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯