Php 将德语日期转换为Y-m-d不起作用?

Php 将德语日期转换为Y-m-d不起作用?,php,date,Php,Date,我有一个这样的约会:2。2012年2月 我想把它转换成2012-02-02,所以我写了以下代码: $date = '2. Februar 2012'; $date = date('Y-m-d', $date); $date var为空或之后为1970-01-01,有什么错误或缺失 注意:日期为德语格式,因此不是二月,而是二月。我从一个约会挑选者那里得到了日期 谢谢 使用strotime putenv('LC_ALL=de_DE'); putenv('LANG=de'); setlocale(

我有一个这样的约会:2。2012年2月

我想把它转换成2012-02-02,所以我写了以下代码:

$date = '2. Februar 2012';
$date = date('Y-m-d', $date);
$date var为空或之后为1970-01-01,有什么错误或缺失

注意:日期为德语格式,因此不是二月,而是二月。我从一个约会挑选者那里得到了日期


谢谢

使用
strotime

putenv('LC_ALL=de_DE');
putenv('LANG=de'); 
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');

$date = '2. Februar 2012';
$date = date('Y-m-d', strtotime($date));

使用
strotime

putenv('LC_ALL=de_DE');
putenv('LANG=de'); 
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');

$date = '2. Februar 2012';
$date = date('Y-m-d', strtotime($date));
由于
$date
变量的格式无效,您可以使用并且还需要在strotime函数中传递有效的日期格式

您有
和拼写错误的月份名称。您必须先清除这些,然后才能传入
strotime
。为此,我使用了
str\u replace

$date = '2. Februar 2012';
$date = date('Y-m-d', strtotime(str_replace('Februar','february',str_replace('.','', $date))));
由于
$date
变量的格式无效,您可以使用并且还需要在strotime函数中传递有效的日期格式

您有
和拼写错误的月份名称。您必须先清除这些,然后才能传入
strotime
。为此,我使用了
str\u replace

$date = '2. Februar 2012';
$date = date('Y-m-d', strtotime(str_replace('Februar','february',str_replace('.','', $date))));
使用
strotime()

如果你能跑

$ts = mktime(0, 0, 0, 2, 2, 2012);
echo date("Y-m-d H:i:s", $ts); // output 2012-02-02 00:00:00  

You can run the following too

$ts = strtotime("2 February 2012");
echo date("Y-m-d H:i:s", $ts); // output 2012-02-02 00:00:00 
使用
strotime()

如果你能跑

$ts = mktime(0, 0, 0, 2, 2, 2012);
echo date("Y-m-d H:i:s", $ts); // output 2012-02-02 00:00:00  

You can run the following too

$ts = strtotime("2 February 2012");
echo date("Y-m-d H:i:s", $ts); // output 2012-02-02 00:00:00 
这样使用:

$date = '2. February 2012';
$date = strtotime($date);
$date = date('Y-m-d', $date);

echo $date;
这样使用:

$date = '2. February 2012';
$date = strtotime($date);
$date = date('Y-m-d', $date);

echo $date;
php中的
date()
函数要求第一个参数为字符串。在你的例子中是可以的。Seconds参数是可选的,它应该是带有要转换的时间戳的整数

参考:

date()
函数在php中要求第一个参数为字符串。在你的例子中是可以的。Seconds参数是可选的,它应该是带有要转换的时间戳的整数


参考资料:

检查此链接阅读此链接:检查此链接阅读此链接:不,它不是错贴的,它是德语。。。德语是二月。日期来自日历控件。@EOB:这不是strotime接受的有效日期格式。您必须将其更改为
二月
或有效的日期格式。你可以在这里看到是的,可能是,但是当地的日期呢?一定有解决方案吗?@EOB:我认为没有,除非您使用PHP手册页面上列出的有效日期格式。还有一个PHP,在你同意有效的日期格式之前,我不认为它对你有多大帮助。。。德语是二月。日期来自日历控件。@EOB:这不是strotime接受的有效日期格式。您必须将其更改为
二月
或有效的日期格式。你可以在这里看到是的,可能是,但是当地的日期呢?一定有解决方案吗?@EOB:我认为没有,除非您使用PHP手册页面上列出的有效日期格式。还有一个PHP,在您同意有效的日期格式之前,我认为这对您没有多大帮助。@EOB哦,对不起,我认为这是一个拼写错误。那是什么语言?@EOB哦,对不起,我以为是拼写错误。那是什么语言?