Date/Time: Add support for the c
and r
shorthand formats in date_i18n()
.
Props Rarst, pbearne Fixes #20973 git-svn-id: https://develop.svn.wordpress.org/trunk@43434 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
adbec850ef
commit
f584b5755a
@ -107,6 +107,9 @@ function date_i18n( $dateformatstring, $timestamp_with_offset = false, $gmt = fa
|
||||
*/
|
||||
$req_format = $dateformatstring;
|
||||
|
||||
$dateformatstring = preg_replace( "/(?<!\\\\)c/", DATE_W3C, $dateformatstring );
|
||||
$dateformatstring = preg_replace( "/(?<!\\\\)r/", DATE_RFC2822, $dateformatstring );
|
||||
|
||||
if ( ( ! empty( $wp_locale->month ) ) && ( ! empty( $wp_locale->weekday ) ) ) {
|
||||
$datemonth = $wp_locale->get_month( date( 'm', $i ) );
|
||||
$datemonth_abbrev = $wp_locale->get_month_abbrev( $datemonth );
|
||||
|
@ -83,4 +83,26 @@ class Tests_Date_I18n extends WP_UnitTestCase {
|
||||
|
||||
$this->assertEquals( $datetime->format( $timezone_formats ), date_i18n( $timezone_formats ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider data_formats
|
||||
* @ticket 20973
|
||||
*/
|
||||
public function test_date_i18n_handles_shorthand_formats( $short, $full ) {
|
||||
$this->assertEquals( date_i18n( $full ), date_i18n( $short ) );
|
||||
$this->assertEquals( $short, date_i18n( '\\' . $short ) );
|
||||
}
|
||||
|
||||
public function data_formats() {
|
||||
return array(
|
||||
array(
|
||||
'c',
|
||||
'Y-m-d\TH:i:sP',
|
||||
),
|
||||
array(
|
||||
'r',
|
||||
'D, d M Y H:i:s O',
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user