假设我想将April 5, 2019
更改为2019. április 5
,从英语到匈牙利语。
仅供参考,我的日期值是使用date('F d, Y', strtotime($row['release_date']))
作为数据源从网站自动获取的
Strftime不适用于我,因为它仅更改本地时间。
我已经尝试过这种方法,但是它不起作用,它仍在显示原始语言
setlocale(LC_TIME, "HU");
utf8_encode(strftime(date('F', strtotime($row['release_date']))));
答案 0 :(得分:1)
您还可以查看The IntlDateFormatter class。
日期格式化程序是一个具体的类,它使依赖于语言环境 使用模式字符串和/或固定格式格式化/解析日期 模式。
此类表示ICU日期格式化功能。它允许 用户以本地化格式显示日期或将字符串解析为 使用模式字符串和/或固定模式的PHP日期值。
我这样做的主要原因是: 每个系统都是不同的,并且您的PHP和服务器操作系统的发行版可能并不支持所有语言环境,这使得setlocale对于较少使用的语言环境几乎没有用。
答案 1 :(得分:0)
尝试以下解决方案以匈牙利语获取日期。
setlocale(LC_TIME, "hu_HU");
echo utf8_encode(strftime('%B %d, %Y', strtotime($row['release_date'])));
如果仍然得到相同的结果,那么这一定是语言环境问题。
要解决此问题,请使用here中提到的过程在您的计算机上安装语言环境(如果您使用的是Ubuntu服务器)(我假设此处是HU)。
检查支持哪些语言环境:
locale -a
添加所需的语言环境(例如hu):
sudo locale-gen hu_HU
运行此更新命令
sudo update-locale