我有点害怕提出这个问题,因为我确信它已经在这里得到了解答,但不幸的是我找不到任何解决方案......
我的问题非常简单。我有一个像
这样的字符串Freitag,17。Februar 2017 08:00
并且需要将其转换为时间戳或类似的时间,我可以在该时间进行操作(例如减去30小时)。
您可能会注意到该字符串是德语,因此我尝试使用strtotime()
时无效。我绝对没有想法来解决这个问题。不幸的是,不能用英语获取字符串...:/
我很高兴有任何帮助!谢谢!
答案 0 :(得分:1)
你看过Carbon了吗?似乎有很好的语言支持。 Viel gluck 。史蒂夫
答案 1 :(得分:1)
一个想法是翻译月份并使用date_parse_from_format
。
$month = [
'Januar' => 'january', 'Februar' => 'february', 'März' => 'march',
'Mai' => 'may', 'Juni' => 'june', 'Juli' => 'july', 'Oktober' => 'october',
'November' => 'november', 'Dezember' => 'december'];
$mres = date_parse_from_format('j. F Y H:i', strtr($str, $month));
(如果utf-8使用utf8_encode
表示非ascii字)。然后使用mktime
to generate timestamp。
$timestamp = mktime($mres['hour'], $mres['minute'], $mres['second'],
$mres['month'], $mres['day'], $mres['year']);