谁能解释一下日期函数的第二个参数?
string date ( string $format [, int $timestamp = time() ] )
它是做什么的,我的意思是它有什么用?除了今天我必须执行以下操作时,我从未使用过它:
echo date('Y-m-d',strtotime('+1 day'));
返回根据给定格式字符串格式化的字符串,使用给定的整数时间戳或当前时间(如果没有给出时间戳)。换句话说,timestamp是可选的,默认为 time() 的值。
因此,如果您将其留空,您将以所选格式回显当前日期。
如果您按照示例中的操作并指定时间戳,它将格式化指定的时间戳。您的strtotime函数将 +1day 转换为整数或时间戳格式。
默认情况下date()
,假设您指的是“现在”。如果要将日期与“否”以外的任何其他日期时间一起使用,则需要使用时间戳指定它。
var_dump(date("Y-m-d") === date("Y-m-d", time())); // bool(true)
这意味着您可以将 unix 时间表示为任何格式的字符串。您可以从数据库或使用 strtotime 获取 Unix 时间。
第二个参数默认为当前日期/时间。
因此,如果要打印当前日期,请不要传递第二个参数:
echo date('Y-m-d');
如果要打印当前日期/时间以外的内容,例如从今天开始一周的日期:
echo date('Y-m-d', strtotime('+7 days'));