0

我在 wordpress 中使用高级自定义字段来输入特定游览的开始和结束日期。该日期的格式为 mmddyy (10052013)。

我正在尝试使用 PHP 来格式化日期。代码如下:

<?php 
            $date = get_field('start_date');

            $y = substr($date, 4, 4); $m = substr($date, 0, 2); $d = substr($date, 2, 2);

            // create UNIX
            $time = strtotime("{$d}-{$m}-{$y}");

            // format date (November 11th 1988)
            echo date('F n, Y', $time); 
        ?>
        <?php
            if(get_field('end_date')){
                $date = get_field('end_date');

                $y = substr($date, 4, 4); $m = substr($date, 0, 2); $d = substr($date, 2, 2);

                // create UNIX
                $time = strtotime("{$d}-{$m}-{$y}");

                // format date (November 11th 1988)
                echo ' - ' . date('F n, Y', $time); 
                }
            ?>

但是当日期在页面上呈现时,由于某种原因,日期总是“2013 年 10 月 10 日”,我不知道为什么。你可以在这里看到它的实际效果:http: //onedirectionconnection.com/tester/ ?projects=take-me-home-tour

我输出正常保存的数据库值,以表明它们确实保存正确。我编写 PHP 的方式出了点问题。

有人可以帮我吗?

4

2 回答 2

1

尝试:

echo ' - ' . date('F d, Y', $time);

您正在正确创建日期,但两者都Fn月份。

参考:http ://www.php.net/manual/en/datetime.createfromformat.php

看到它在这里工作:https ://eval.in/52927

于 2013-10-06T01:04:49.047 回答
1

n是数字月份

j是不带前导零的天数,以及您要查找的内容

echo ' - ' . date('F j, Y', $time); 
于 2013-10-06T01:09:59.587 回答