浏览代码

[Locale] support for m (minute of hour)

Igor Wiedler 14 年之前
父节点
当前提交
87d3547679

+ 6 - 1
src/Symfony/Component/Locale/Stub/StubIntlDateFormatter.php

@@ -40,7 +40,7 @@ class StubIntlDateFormatter
 
     public function format($timestamp)
     {
-        $specialChars = 'MLydGQqhDEaHkK';
+        $specialChars = 'MLydGQqhDEaHkKm';
         $specialCharsArray = str_split($specialChars);
         $specialCharsMatch = implode('|', array_map(function($char) {
             return $char . '+';
@@ -159,6 +159,11 @@ class StubIntlDateFormatter
                     $hourOfDay = ('12' == $hourOfDay) ? '0' : $hourOfDay;
                     return str_pad($hourOfDay, $length, '0', STR_PAD_LEFT);
                     break;
+
+                case 'm':
+                    $minuteOfHour = (int) gmdate('i', $timestamp);
+                    return str_pad($minuteOfHour, $length, '0', STR_PAD_LEFT);
+                    break;
             }
         };
 

+ 13 - 0
tests/Symfony/Tests/Component/Locale/Stub/StubIntlDateFormatterTest.php

@@ -151,6 +151,19 @@ class StubIntlDateFormatterTest extends \PHPUnit_Framework_TestCase
             array('K', 1, '0'),
             array('K', 3600, '1'),
             array('K', 43200, '0'), // 12 hours
+
+            /* minute */
+            array('m', 0, '0'),
+            array('mm', 0, '00'),
+            array('mmm', 0, '000'),
+
+            array('m', 1, '0'),
+            array('m', 60, '1'),
+            array('m', 120, '2'),
+            array('m', 180, '3'),
+            array('m', 3600, '0'),
+            array('m', 3660, '1'),
+            array('m', 43200, '0'), // 12 hours
         );
     }