gmstrftime() 函数根据区域设置格式化 GMT/UTC 时间/日期。
gmstrftime(format, timestamp)
| 参数 | 描述 | 可选性 |
|---|---|---|
| format |
指定如何返回结果:
|
必需 |
| timestamp | 规定要格式化的时间戳。默认为当前时间(time())。 | 可选 |
返回根据 format 参数格式化的时间字符串。
使用 gmstrftime() 函数格式化当前 GMT 时间:
<?php
// 设置区域为中国
setlocale(LC_TIME, "zh_CN");
// 格式化当前 GMT 时间
echo gmstrftime("%Y年%m月%d日 %H:%M:%S");
echo "<br>";
echo gmstrftime("%A, %d %B %Y");
?>
格式化指定的 GMT 时间戳:
<?php
// 设置区域为美国英语
setlocale(LC_TIME, "en_US.UTF-8");
// 指定时间戳(2023年12月25日 00:00:00 GMT)
$timestamp = strtotime("2023-12-25 00:00:00");
// 格式化指定时间戳
echo gmstrftime("%B %d, %Y at %I:%M %p", $timestamp);
echo "<br>";
echo gmstrftime("Short date: %m/%d/%Y", $timestamp);
?>
展示 gmstrftime() 的不同格式选项:
<?php
// 设置区域
setlocale(LC_TIME, "en_US.UTF-8");
$timestamp = time();
echo "<h4>Various formats of GMT time:</h4>";
echo "Full date and time: " . gmstrftime("%c", $timestamp) . "<br>";
echo "Date only: " . gmstrftime("%x", $timestamp) . "<br>";
echo "Time only: " . gmstrftime("%X", $timestamp) . "<br>";
echo "Day of week: " . gmstrftime("%A", $timestamp) . "<br>";
echo "Month name: " . gmstrftime("%B", $timestamp) . "<br>";
echo "24-hour time: " . gmstrftime("%H:%M:%S", $timestamp) . "<br>";
echo "12-hour time: " . gmstrftime("%I:%M:%S %p", $timestamp) . "<br>";
echo "Timezone: " . gmstrftime("%Z", $timestamp) . "<br>";
?>
比较 gmstrftime() 和 strftime() 的区别:
<?php
// 设置区域
setlocale(LC_TIME, "en_US.UTF-8");
$timestamp = time();
echo "<h4>Comparison between gmstrftime() and strftime()</h4>";
echo "Local time (strftime): " . strftime("%Y-%m-%d %H:%M:%S", $timestamp) . "<br>";
echo "GMT time (gmstrftime): " . gmstrftime("%Y-%m-%d %H:%M:%S", $timestamp) . "<br>";
echo "<br>";
// 显示时区信息
echo "Local timezone: " . date_default_timezone_get() . "<br>";
echo "GMT timezone: GMT" . "<br>";
?>
| PHP 版本: | PHP 4+ |
| 更新日志: |
|
从 PHP 8.1.0 开始,gmstrftime() 函数已被弃用。建议使用以下替代方案:
gmdate() - 格式化 GMT/UTC 日期/时间DateTime::format() - 面向对象的日期格式化IntlDateFormatter::format() - 国际化日期格式化