[英]PHP date function usage that I don't understand
因此,我已經交給了由其他開發人員構建的WordPress網站,目前我正在研究自定義的工作量。 我遇到了他們用於歸檔帖子的功能,並且遇到了從未使用過的PHP date()函數的使用(盡管可以肯定,我沒有看到很多)
date('Y-1-1', strtotime('-1 year'))
有人可以向我解釋一下嗎? 我之前從未見過參數“ Y-1-1”,甚至不知道您可以將其他參數傳遞給date()函數。 我玩了一些參數,或者看不到任何變化,或者破壞了它。
再次感謝)!
只看輸出:
echo date('Y-1-1', strtotime('-1 year'));
// 2012-1-1
和文檔:
http://php.net/manual/de/function.date.php
http://php.net/manual/de/function.strtotime.php
Y
是四位數的年份關鍵字。 -1-1
只是普通字符,被日期函數忽略 -1 year
給出了現在的時間戳-1年,所以年份是2012年 該電話將在去年1月1日返回:假設今天是2013年12月27日,
strtotime('-1 year')
解析為一年前的今天,即2012-12-27 date
中不能識別為格式元素的所有內容均按原義進行解釋(來自文檔 : Unrecognized characters in the format string will be printed as-is.
),因此格式字符串將轉換為2012-1-1 strtotime
函數在解析提供的字符串后返回unix時間戳,在此示例中,該時間戳為我們提供了當前時間(但上一年)的時間戳。
然后, date
函數根據以下格式格式化此時間戳: Y-1-1
,它有效地輸出四位數的年份代替Y
,並按字面輸出1
s。
因此,如果今年運行的是2013
,則完整的代碼: date('Y-1-1', strtotime('-1 year'))
返回字符串2012-1-1
。
參考文獻:
這是交互式shell的輸出:
~/Code $ php -a
Interactive shell
php > echo strtotime('-1 year');
1356628992
php > echo date('Y-1-1', 1356628968);
2012-1-1
php >
“ Y-1-1”的含義與“當前Year-1-1”的含義相同,因此應為2013-1-1(2013年1月1日)。Date的函數第一個參數可以包含任何字符或格式字符,可能在這里找到: PHP日期
第二個參數是時間戳(UNIX時間戳,它是從1970年1月1日起經過的秒數)。 strtotime('-1 year')為您提供今年前一年的時間戳。
結果將是“ 2012-1-1”。 此代碼清單基本上將給您去年的1月1日作為結果。
date('Y-1-1', strtotime('-1 year')); // 2012-1-1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.