php date('m')显示单个数字月而不是双倍

时间:2010-12-13 10:03:42

标签: php

根据php.net日期('m')应该01,但我得到1而不是

dirloc = date('Y') . "/" . date('m') . "/" . $word_id . "/";

1 个答案:

答案 0 :(得分:2)

Install PHPUnit. Run the following UnitTest:

// make sure PHPUnit is included

class DateTest extends PHPUnit_Framework_TestCase
{
    public function setup()
    {
        date_default_timezone_set('UTC');
    }
    public function getDates()
    {
        return array(
            array('01', 'Jan'),
            array('02', 'Feb'),
            array('03', 'Mar'),
            array('04', 'Apr'),
            array('05', 'May'),
            array('06', 'Jun'),
            array('07', 'Jul'),
            array('08', 'Aug'),
            array('09', 'Sep')
        );
    }
    /**
     * @dataProvider getDates
     */
    public function testDateReturnsMonthWithLeadingZero($expected, $month)
    {
        $this->assertSame($expected, date('m', strtotime($month)));
    }
}

如果测试在任何给定的测试日期失败,请收集您的PHP版本和操作系统,并向PHP bugtracker提交错误。如果测试通过了所有测试日期,那么你做错了。