Преглед изворни кода

Fixes #561 - Zend_Date not expected year

Frank Brückner пре 10 година
родитељ
комит
d036788b94
2 измењених фајлова са 13 додато и 1 уклоњено
  1. 1 1
      library/Zend/Date/DateObject.php
  2. 12 0
      tests/Zend/DateTest.php

+ 1 - 1
library/Zend/Date/DateObject.php

@@ -318,7 +318,7 @@ abstract class Zend_Date_DateObject {
             // standard). However, this is not desired, so replacing 
             // all occurrences of "o" not preceded by a backslash 
             // with "Y"
-            $format = preg_replace('/(?<!\\\\)o\b/', 'Y', $format);
+            $format = preg_replace('/(?<!\\\\)o/', 'Y', $format);
             $result = ($gmt) ? @gmdate($format, $timestamp) : @date($format, $timestamp);
             date_default_timezone_set($oldzone);
             return $result;

+ 12 - 0
tests/Zend/DateTest.php

@@ -5725,6 +5725,18 @@ class Zend_DateTest extends PHPUnit_Framework_TestCase
             $date->getTimezoneFromString('America/New_York')
         );
     }
+
+    /**
+     * @group GH-561
+     */
+    public function testGetYearAndMonthWithoutDot()
+    {
+        $date = new Zend_Date('2014.12.29');
+
+        $this->assertEquals('29.12.2014', $date->get(Zend_Date::DATE_MEDIUM));
+        $this->assertEquals('2014.12', $date->get('Y.M'));
+        $this->assertEquals('201412', $date->get('YM'));
+    }
 }
 
 class Zend_Date_TestHelper extends Zend_Date