gmstrftime

Format a GMT/UTC time/date according to locale settings

Warning

This function has been DEPRECATED as of PHP 8.1.0. Relying on this function is highly discouraged.

Alternatives to this function include:

  • gmdate
  • IntlDateFormatter::format

Description

stringfalse gmstrftime(string $format, intnull $timestamp = null)

Behaves the same as strftime except that the time returned is Greenwich Mean Time (GMT). For example, when run in Eastern Standard Time (GMT -0500), the first line below prints "Dec 31 1998 20:00:00", while the second prints "Jan 01 1999 01:00:00".

Warning

This function depends on operating system locale information, which might be inconsistent with each other, or not available at all. Instead use the IntlDateFormatter::format method.

Parameters

format

See description in strftime.

timestamp

The optional timestamp parameter is an int Unix timestamp that defaults to the current local time if timestamp is omitted or null. In other words, it defaults to the value of time.

Return Values

Returns a string formatted according to the given format string using the given timestamp or the current local time if no timestamp is given. Month and weekday names and other language dependent strings respect the current locale set with setlocale. On failure, false is returned.

Changelog

Version Description
8.0.0 timestamp is nullable now.

Examples

Example #1 gmstrftime example

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

See Also

  • IntlDateFormatter::format
  • DateTimeInterface::format
  • strftime