date函数中的第二个参数是什么意思?

问题描述:

任何人都可以请解释一下date函数的第二个参数吗?date函数中的第二个参数是什么意思?

string date (string $format [, int $timestamp = time() ]) 

它是做什么的,我的意思是什么意思?我从来没有使用过它除了今天,当我不得不做到以下几点:

echo date('Y-m-d',strtotime('+1 day')); 
+0

其日期\时间戳,它默认到现在,所以你不会需要它在这种情况下 – 2013-03-23 01:56:20

默认情况下date()假设您指的是“现在”。如果您想将日期与除“否”之外的其他任何日期时间一起使用,则需要使用时间戳指定它。

var_dump(date("Y-m-d") === date("Y-m-d", time())); // bool(true) 
+0

'日期(“YMD” +时间戳)'总是增加了'now'? – saplingPro 2013-03-23 02:11:52

返回根据使用 给定整时间戳或当前时间,如果没有时间戳是给出 给定格式串格式化的字符串。换句话说,时间戳是可选的,并且默认为time()的值 。

因此,如果您将其留空,您将以所选格式回显当前日期。

如果按照您的示例进行操作并指定时间戳,它将格式化指定的时间戳。您的strtotime函数将+ 1day转换为整数或时间戳格式。

这意味着您可以将任何格式的unix时间表示为字符串。 Unix的时候,你可以从数据库或strtotime获得。

第二个参数默认为当前日期/时间。

所以,如果你要打印的当前日期,没有通过第二个参数:

echo date('Y-m-d'); 

如果要打印其他东西比当前日期/时间,喜欢一个星期的日期从今天:

echo date('Y-m-d', strtotime('+7 days'));