strtotime
是 PHP 中的一个函数,用于将任何英文文本的日期时间描述解析为 Unix 时间戳
首先,确保你的 PHP 安装包含了 date.php
文件。这个文件通常位于 /usr/share/php/date.php
或 /usr/local/php/date.php
。如果没有,请从 PHP 官方网站下载并安装。
创建一个名为 locale.ini
的配置文件,用于存储你的本地化设置。你可以将其放在你的项目的根目录下,或者在任何你认为合适的地方。在这个文件中,添加以下内容:
[date]
; 设置时区,例如 "Asia/Shanghai"
date.timezone = Asia/Shanghai
; 设置日期和时间格式,例如 "Y-m-d H:i:s"
date.default_format = Y-m-d H:i:s
; 设置星期几的缩写,例如 "周"
date.day_of_week = 周
; 设置月份的缩写,例如 "月"
date.month = 月
; 设置星期的缩写,例如 "日"
date.weekday = 日
; 设置数字格式,例如 "一"
date.digit = 一
请根据你的需求修改这些设置。你可以在这里找到所有可用的选项:https://www.php.net/manual/en/function.date.php
setlocale
函数设置本地化信息。例如:<?php
// 设置本地化信息
setlocale(LC_TIME, 'locale.ini');
// 使用 strtotime 解析本地化的日期时间字符串
$date_string = '2022年1月1日';
$timestamp = strtotime($date_string);
// 使用 date 函数格式化时间戳
$formatted_date = date('Y-m-d H:i:s', $timestamp);
echo "原始日期字符串:{$date_string}\n";
echo "时间戳:{$timestamp}\n";
echo "格式化后的日期:{$formatted_date}\n";
?>
这样,strtotime
函数就会使用你设置的本地化信息来解析日期时间字符串了。请注意,setlocale
函数可能需要在 php.ini
文件中启用本地化支持。如果你的 PHP 安装没有启用本地化支持,请找到 php.ini
文件(通常位于 /etc/php/7.x/cli/php.ini
或 /usr/local/php/etc/php.ini
),并取消以下行的注释(如果存在):
;setlocale=LC_TIME, en_US.UTF-8
将其更改为:
setlocale=LC_TIME, en_US.UTF-8
然后重启你的 web 服务器以应用更改。