Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我不知道的PHP日期函数用法';我不明白_Php_Wordpress_Date - Fatal编程技术网

我不知道的PHP日期函数用法';我不明白

我不知道的PHP日期函数用法';我不明白,php,wordpress,date,Php,Wordpress,Date,因此,我得到了一个WordPress网站,该网站是由其他开发人员创建的,我正在计算定制的效果。我遇到过他们用于归档帖子的函数,我也遇到过使用PHP date()函数的情况,这是我以前从未见过的(尽管我承认,我没有见过太多) 有人能解释一下吗?我以前从未见过参数“Y-1-1”,我甚至不知道可以像这样将其他参数传递给date()函数。我对参数进行了一些调整,要么没有看到任何变化,要么破坏了它 (再次)谢谢 去年1月1日的电话将返回:假设今天的日期是2013-12-27,这将给出 strotime(“

因此,我得到了一个WordPress网站,该网站是由其他开发人员创建的,我正在计算定制的效果。我遇到过他们用于归档帖子的函数,我也遇到过使用PHP date()函数的情况,这是我以前从未见过的(尽管我承认,我没有见过太多)

有人能解释一下吗?我以前从未见过参数“Y-1-1”,我甚至不知道可以像这样将其他参数传递给date()函数。我对参数进行了一些调整,要么没有看到任何变化,要么破坏了它


(再次)谢谢

去年1月1日的电话将返回:假设今天的日期是2013-12-27,这将给出

  • strotime(“-1年”)
    解析为一年前的今天,即2012-12-27
  • 凡是
    date
    不能识别为格式元素的内容都会按字面解释(从:
    格式字符串中未识别的字符将按原样打印。
    ),因此格式字符串将转换为2012-1-1

  • 只需看看输出:

    echo date('Y-1-1', strtotime('-1 year'));
    // 2012-1-1
    
    以及文件:

    • Y
      是年份的四位数键
    • -1-1
      只是普通字符,被日期函数忽略
    • -1年
      给出了现在-1年的时间戳,因此年份是2012年

    解析提供的字符串后,
    strotime
    函数返回一个unix时间戳,在本例中,它为我们提供了当前时间的时间戳,但在前一年

    然后,
    date
    函数根据以下格式格式化此时间戳:
    Y-1-1
    ,该格式有效地输出四位数年份以代替
    Y
    ,并按字面形式输出
    1
    s

    因此,完整的代码:
    date('Y-1-1',strotime('-1年'))
    返回字符串
    2012-1-1
    ,如果今年运行的是
    2013
    ,则返回该字符串

    参考资料:

    以下是交互式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”的含义基本上与“当前年份-1-1”相同,因此应为2013-1-1(2013年1月1日)。Date的函数第一个参数可以包含任何字符或格式字符,可以在此处找到:

    第二个参数是timestamp(UNIX timestamp,它是从1970年1月1日起经过的秒数)。strotime('-1年')提供今年前1年的时间戳

    结果将是“2012-1-1”。 这个代码清单基本上给出了上一年1月1日的结果

    date('Y-1-1', strtotime('-1 year')); // 2012-1-1
    

    您是否在上查找了
    date()
    fn?文档非常有用clear@Jakub例如我发誓我做了那是我会说的+1.
    date('Y-1-1', strtotime('-1 year')); // 2012-1-1