# wp_date()

URL: https://chugunov.pro/api-wordpress/functions/wp_date/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 5.3.0.

## Сигнатура

```php
wp_date( string $format, int|null $timestamp = null, DateTimeZone|null $timezone = null ): string|false
```

## Описание

Это более новая функция, призванная заменить date_i18n() без унаследованных особенностей.
Обратите внимание, что в отличие от date_i18n() эта функция принимает истинную метку времени Unix, а не суммированную со смещением часового пояса.

## Параметры

- `$format` `string` — обязательный. Формат даты PHP.
- `$timestamp` `int|null` — необязательный, по умолчанию `null`. Метка времени Unix. По умолчанию — текущее время.
- `$timezone` `DateTimeZone|null` — необязательный, по умолчанию `null`. Часовой пояс, в котором выводить результат. По умолчанию — часовой пояс из настроек сайта.

## Возвращаемое значение

`string|false`

## Исходный код

Файл: `wp-includes/functions.php:243`

```php
function wp_date( $format, $timestamp = null, $timezone = null ) {
	global $wp_locale;

	if ( null === $timestamp ) {
		$timestamp = time();
	} elseif ( ! is_numeric( $timestamp ) ) {
		return false;
	}

	if ( ! $timezone ) {
		$timezone = wp_timezone();
	}

	$datetime = date_create( '@' . $timestamp );
	$datetime->setTimezone( $timezone );

	if ( empty( $wp_locale->month ) || empty( $wp_locale->weekday ) ) {
		$date = $datetime->format( $format );
	} else {
		// We need to unpack shorthand `r` format because it has parts that might be localized.
		$format = preg_replace( '/(?<!\\\\)r/', DATE_RFC2822, $format );

		$new_format    = '';
		$format_length = strlen( $format );
		$month         = $wp_locale->get_month( $datetime->format( 'm' ) );
		$weekday       = $wp_locale->get_weekday( $datetime->format( 'w' ) );

		for ( $i = 0; $i < $format_length; $i++ ) {
			switch ( $format[ $i ] ) {
				case 'D':
					$new_format .= addcslashes( $wp_locale->get_weekday_abbrev( $weekday ), '\\A..Za..z' );
					break;
				case 'F':
					$new_format .= addcslashes( $month, '\\A..Za..z' );
					break;
				case 'l':
					$new_format .= addcslashes( $weekday, '\\A..Za..z' );
					break;
				case 'M':
					$new_format .= addcslashes( $wp_locale->get_month_abbrev( $month ), '\\A..Za..z' );
					break;
				case 'a':
					$new_format .= addcslashes( $wp_locale->get_meridiem( $datetime->format( 'a' ) ), '\\A..Za..z' );
					break;
				case 'A':
					$new_format .= addcslashes( $wp_locale->get_meridiem( $datetime->format( 'A' ) ), '\\A..Za..z' );
					break;
				case '\\':
					$new_format .= $format[ $i ];

					// If character follows a slash, we add it without translating.
					if ( $i < $format_length ) {
						$new_format .= $format[ ++$i ];
					}
					break;
				default:
					$new_format .= $format[ $i ];
					break;
			}
		}

		$date = $datetime->format( $new_format );
		$date = wp_maybe_decline_date( $date, $format );
	}

	/**
	 * Filters the date formatted based on the locale.
	 *
	 * @since 5.3.0
	 *
	 * @param string       $date      Formatted date string.
	 * @param string       $format    Format to display the date.
	 * @param int          $timestamp Unix timestamp.
	 * @param DateTimeZone $timezone  Timezone.
	 */
	$date = apply_filters( 'wp_date', $date, $format, $timestamp, $timezone );

	return $date;
}
```

## История изменений

- 5.3.0 — Introduced.

## Связанные

Использует: [`wp_timezone`](https://chugunov.pro/api-wordpress/functions/wp_timezone/), [`wp_maybe_decline_date`](https://chugunov.pro/api-wordpress/functions/wp_maybe_decline_date/), `WP_Locale::get_month`, `WP_Locale::get_month_abbrev`, `WP_Locale::get_meridiem`, `WP_Locale::get_weekday`, `WP_Locale::get_weekday_abbrev`, [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/).
Используется в: `WP_Debug_Data::get_wp_server`, `WP_Sitemaps_Posts::get_url_list`, [`get_post_time`](https://chugunov.pro/api-wordpress/functions/get_post_time/), [`get_post_modified_time`](https://chugunov.pro/api-wordpress/functions/get_post_modified_time/), [`date_i18n`](https://chugunov.pro/api-wordpress/functions/date_i18n/), [`mysql2date`](https://chugunov.pro/api-wordpress/functions/mysql2date/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_date/
