Tribe__Date_Utils::wp_locale_month( int|string $month, string $format = 'month' )
Return a WP Locale month in the specified format
Contents
Parameters
- $month
-
(int|string) (Required) Month of year
- $format
-
(string) (Optional) Month format: full, month, abbreviation, abbrev, abbr, short
Default value: 'month'
Return
(string)
Source
File: src/Tribe/Date_Utils.php
public static function wp_locale_month( $month, $format = 'month' ) {
$month = trim( $month );
$valid_formats = array(
'full',
'month',
'abbreviation',
'abbrev',
'abbr',
'short',
);
// if there isn't a valid format, bail without providing a localized string
if ( ! in_array( $format, $valid_formats ) ) {
return $month;
}
if ( empty( self::$localized_months ) ) {
self::build_localized_months();
}
// make sure numeric months are valid
if ( is_numeric( $month ) ) {
$month_num = (int) $month;
// if the month num falls out of range, bail without localizing
if ( 0 > $month_num || 12 < $month_num ) {
return $month;
}
} else {
$months = array(
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec',
);
// convert the provided month to a 3-character month and find it in the months array so we
// can build an appropriate month number
$month_num = array_search( ucwords( substr( $month, 0, 3 ) ), $months );
// if we can't find the provided month in our month list, bail without localizing
if ( false === $month_num ) {
return $month;
}
// let's increment the num because months start at 01 rather than 00
$month_num++;
}
$month_num = str_pad( $month_num, 2, '0', STR_PAD_LEFT );
$type = ( 'full' === $format || 'month' === $format ) ? 'full' : 'short';
return self::$localized_months[ $type ][ $month_num ];
}
Changelog
| Version | Description |
|---|---|
| 4.4.3 | Introduced. |