我希望DateTime::format('D, d.m.Y H:i')
的德语输出意味着代替太阳,......'我想得到'所以,...'。我设置了setlocale(LC_ALL,'de_DE');
,但这并没有解决问题。
答案 0 :(得分:1)
引用the documentation for Datetime::format
:
此方法不使用区域设置。所有输出都是英文。
如果您要使用其他语言环境(在您的情况下为德语)格式化日期,则可以使用date
:
date('D, d.m.Y H:i');
答案 1 :(得分:0)
首先使用setlocale()函数设置区域设置。
setlocale( LC_ALL, 'de_DE' );
将时间戳转换为可读的日期。
$local_date = date( 'l, d.m.Y', '1537551000' ); // 1537551000 timestamp
使用strftime()函数根据语言环境设置格式化本地时间/日期。
$de_date = strftime( '%A, %d.%m.%Y', strtotime( $local_date ) );
答案 2 :(得分:0)
您必须使用 strftime
才能获得本地化的输出。
https://www.php.net/manual/en/function.strftime.php
// for english `date` is enough
echo date('D, d.m.Y H:i');
// --> Fri, 19.03.2021 17:22
// german localized string utf-8
setlocale(LC_TIME, 'de_DE.UTF-8');
echo strftime('%a, %d.%m.%Y %H:%I', time());
// --> Fr, 19.03.2021 17:05