$addhr = time() + (1 * 13 * 60 * 60);
$curDateTimeMil= date("Y-m-d G:i:s",$addhr);
echo $curDateTimeMil;
这将回显2010-08-27 16:21:31
。
如何在2周后获得日期? (9月10日)
答案 0 :(得分:24)
$dateInTwoWeeks = strtotime('+2 weeks');
请参阅strtotime()
。
更新#1 :是的,这是一种懒惰的方式。但是,我确实认为可能的负面性能影响可以通过对代码的可读性/理解的积极影响来抵消。如果性能成为问题,可以切换到本机(基于整数)时间操作(并添加注释)。
更新#2 :可选的第二个参数是参考日期。 E.g:
strtotime('+2 weeks', mktime(0, 0, 0, 2, 8, 1984)); // 8th Feb. 1984 + 2 weeks
答案 1 :(得分:4)
您可以使用mktime()
指定开始时间(从何处计算)。
示例:2010年9月10日后两周(即+14天):
$date = date("Y-m-d", mktime(0, 0, 0, 9, 10 + 14, 2010);
从今天开始两周后(+14天)的日期(不是时间):
$date = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+14, date("Y")));
从现在开始,两周后(+14天)的时间为:
$date = date("Y-m-d G:i:s", mktime(date("G"), date("i"), date("s"), date("m"), date("d")+14, date("Y")));
答案 2 :(得分:3)
您只需添加两周的秒数即可:
2 weeks = 2 · 7 days = 14 days
= 14 · 24 hours = 336 hours
= 336 · 60 minutes = 20160 minutes
= 20160 · 60 seconds = 1209600 seconds
所以:
$curDateTimeMil += 1209600;
// or
$curDateTimeMil += 2 * 7 * 24 * 60 * 60;