Skip to content

Commit bc3c9a0

Browse files
committed
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0: Fixed bug #74080 Add datetime constant for RFC7231
2 parents 0959e6f + 618d979 commit bc3c9a0

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed

NEWS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ PHP NEWS
1717
- Date:
1818
. Fixed bug #74404 (Wrong reflection on DateTimeZone::getTransitions).
1919
(krakjoe)
20+
. Fixed bug #74080 (add constant for RFC7231 format datetime). (duncan3dc)
2021

2122
- DOM:
2223
. Fixed bug #74416 (Wrong reflection on DOMNode::cloneNode).

ext/date/php_date.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,6 +775,11 @@ PHP_RSHUTDOWN_FUNCTION(date)
775775
*/
776776
#define DATE_FORMAT_RFC1123 "D, d M Y H:i:s O"
777777

778+
/*
779+
* RFC7231, Section 7.1.1: http://tools.ietf.org/html/rfc7231
780+
*/
781+
#define DATE_FORMAT_RFC7231 "D, d M Y H:i:s \\G\\M\\T"
782+
778783
/*
779784
* RFC2822, Section 3.3: http://www.ietf.org/rfc/rfc2822.txt
780785
* FWS = ([*WSP CRLF] 1*WSP) / ; Folding white space
@@ -868,6 +873,7 @@ PHP_MINIT_FUNCTION(date)
868873
REGISTER_STRING_CONSTANT("DATE_RFC850", DATE_FORMAT_RFC850, CONST_CS | CONST_PERSISTENT);
869874
REGISTER_STRING_CONSTANT("DATE_RFC1036", DATE_FORMAT_RFC1036, CONST_CS | CONST_PERSISTENT);
870875
REGISTER_STRING_CONSTANT("DATE_RFC1123", DATE_FORMAT_RFC1123, CONST_CS | CONST_PERSISTENT);
876+
REGISTER_STRING_CONSTANT("DATE_RFC7231", DATE_FORMAT_RFC7231, CONST_CS | CONST_PERSISTENT);
871877
REGISTER_STRING_CONSTANT("DATE_RFC2822", DATE_FORMAT_RFC2822, CONST_CS | CONST_PERSISTENT);
872878
REGISTER_STRING_CONSTANT("DATE_RFC3339", DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT);
873879
REGISTER_STRING_CONSTANT("DATE_RFC3339_EXTENDED", DATE_FORMAT_RFC3339_EXTENDED, CONST_CS | CONST_PERSISTENT);
@@ -2062,6 +2068,7 @@ static void date_register_classes(void) /* {{{ */
20622068
REGISTER_DATE_CLASS_CONST_STRING("RFC850", DATE_FORMAT_RFC850);
20632069
REGISTER_DATE_CLASS_CONST_STRING("RFC1036", DATE_FORMAT_RFC1036);
20642070
REGISTER_DATE_CLASS_CONST_STRING("RFC1123", DATE_FORMAT_RFC1123);
2071+
REGISTER_DATE_CLASS_CONST_STRING("RFC7231", DATE_FORMAT_RFC7231);
20652072
REGISTER_DATE_CLASS_CONST_STRING("RFC2822", DATE_FORMAT_RFC2822);
20662073
REGISTER_DATE_CLASS_CONST_STRING("RFC3339", DATE_FORMAT_RFC3339);
20672074
REGISTER_DATE_CLASS_CONST_STRING("RFC3339_EXTENDED", DATE_FORMAT_RFC3339_EXTENDED);

ext/date/tests/DateTime_verify.phpt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ array(18) {
156156
}
157157
}
158158
..and get names of all its class constants
159-
array(12) {
159+
array(13) {
160160
["ATOM"]=>
161161
string(13) "Y-m-d\TH:i:sP"
162162
["COOKIE"]=>
@@ -171,6 +171,8 @@ array(12) {
171171
string(16) "D, d M y H:i:s O"
172172
["RFC1123"]=>
173173
string(16) "D, d M Y H:i:s O"
174+
["RFC7231"]=>
175+
string(21) "D, d M Y H:i:s \G\M\T"
174176
["RFC2822"]=>
175177
string(16) "D, d M Y H:i:s O"
176178
["RFC3339"]=>

ext/date/tests/bug74080.phpt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--TEST--
2+
Bug #74080 Provide an RFC7231 date time format
3+
--FILE--
4+
<?php
5+
6+
$date = mktime(17, 52, 13, 4, 30, 2016);
7+
var_dump(date(\DateTime::RFC7231, $date));
8+
9+
?>
10+
--EXPECTF--
11+
string(29) "Sat, 30 Apr 2016 17:52:13 GMT"

0 commit comments

Comments
 (0)