我有一个DateTime对象,我正在通过它编写
$mytime->format("D d.m.Y")
Run Code Online (Sandbox Code Playgroud)
这给了我完全符合我需要的格式:
星期二5.3.2012
唯一缺少的是正确的语言.我需要Tue(Tuesday)的德语翻译,即Die(Dienstag).
这为我提供了正确的区域设置
Locale::getDefault()
Run Code Online (Sandbox Code Playgroud)
但我不知道怎么告诉DateTime::format它使用它.
有没有办法做这样的事情:
$mytime->format("D d.m.Y", \Locale::getDefault());
Run Code Online (Sandbox Code Playgroud) 我有一个脚本需要向国际观众显示日期数据 - 例如
"2009年8月25日星期二提交"
是否有一种更简单/更清洁的方式将其转换为法语(等)"Mar 25Aoû09",而不是:
设置常量LANG和$LANGUAGES包含文件数组&:
if(LANG != 'EN')
{
include $LANGUAGES['LANG'];
}
Run Code Online (Sandbox Code Playgroud)
然后,包含的文件会映射日期和月份并替换适当的区域设置?
谢谢
大卫
我正在使用以下函数来检索日期和时间:
function formatEventTime($time, $type, $locale = 'nb_NO') {
setlocale(LC_TIME, $locale);
switch($type) {
case 'date' : $format = '%d.%m'; break;
case 'dm' : $format = '%d. %B'; break;
case 'time' : $format = '%H:%M'; break;
case 'dmy' : $format = '%d.%m.%Y'; break;
}
return strftime($format, strtotime($time));
}
Run Code Online (Sandbox Code Playgroud)
哇$time = 2010-12-03 10:00:00.问题是我的日子和月份仍然是英文.我如何将其更改为例如挪威语?
更新
这适用于我的服务器,但不适用于我的语言环境机器.
我有一个MySQL格式的日期,我想显示本地化为我的用户县日期格式的日期.
我想知道是否有办法通过国家/地区的ISO代码获取格式,例如:
$mysql_date = '2017-12-31';
echo print_localized_date($mysql_date,'it'); // 31/12/2017
echo print_localized_date($mysql_date,'de'); // 31.12.2017
echo print_localized_date($mysql_date,'us'); // 12/31/2017
Run Code Online (Sandbox Code Playgroud)
我知道我可以直接传递格式,但我们的网站可能在世界各地销售,我应该考虑每种日期格式.
另一个解决方案可能是在我的国家/地区表中存储一个带有PHP日期格式字符串的列,在这种情况下是否有一个资源可以从中获取该信息,希望是CSV还是SQL转储?
我使用Laravel和Carbon,但我没有在该库中看到解决方案,例如moment.j我正在寻找的东西:["moment.js Multiple Locale Support][1]但在JavaScript中,我需要在PHP中使用它.
可能重复:
PHP日期函数输出为意大利语
我尝试FORCE本地更改并获得日期输出的值在法语...这不工作:这是代码
setlocale(LC_ALL, 'ca_FR');
echo date("l, F d, Y");
Run Code Online (Sandbox Code Playgroud)
这是服务器设置:PHP Version> = 5.2(5.2.16+ best)5.2.17和操作系统:Linux
我需要用法语输出日期:mercredi .....
php ×5
date ×3
datetime ×1
laravel ×1
locale ×1
localization ×1
mysql ×1
php-carbon ×1
time ×1