我对下面的代码有疑问。如何格式化德语日期,例如“Di, 02.Okt 2012”到“2012-10-02”?
\n\n我已经检查了许多网站以寻求解决方案,但没有找到可以帮助我的东西。
\n\n $value =\'Di, 02.Okt 2012\';\n $tempdate = $value;\n $tempdate = substr($tempdate,-11);\n $tempdate = date(\'Y-m-d\',$tempdate);\nRun Code Online (Sandbox Code Playgroud)\n\n输出:1970-01-01
\n\n解决了:
\n\n$value = \'comes from a foreach loop\'; \n\n$tempdate = $value;\n $tempdate = substr($tempdate,-11);\n $tempdate = str_replace(\'.Jan \', \'-01-\', $tempdate);\n $tempdate = str_replace(\'.Feb \', \'-02-\', $tempdate);\n $tempdate = str_replace(\'.M\xc3\xa4r \', \'-03-\', $tempdate);\n $tempdate = str_replace(\'.Apr \', \'-04-\', $tempdate);\n $tempdate = str_replace(\'.Mai \', \'-05-\', $tempdate);\n $tempdate = str_replace(\'.Jun \', \'-06-\', $tempdate);\n $tempdate = str_replace(\'.Jul \', \'-07-\', $tempdate);\n $tempdate = str_replace(\'.Aug \', \'-08-\', $tempdate);\n $tempdate = str_replace(\'.Sep \', \'-09-\', $tempdate);\n $tempdate = str_replace(\'.Okt \', \'-10-\', $tempdate);\n $tempdate = str_replace(\'.Nov \', \'-11-\', $tempdate);\n $tempdate = str_replace(\'.Dez \', \'-12-\', $tempdate);\n $tempdate = date(\'Y-m-d\',strtotime($tempdate));\n\n echo $tempdate.\'<br/>\';\nRun Code Online (Sandbox Code Playgroud)\n\n这是许多日期的解决方案。^^我希望我能帮忙
\n将包含德国日期和月份$date_string的变量传递给使用strtr (字符串翻译)以及德国日期(和月份)数组的函数将允许strtotime(字符串到 unix 时间戳)正确解析:
\n \n\n\n
由于strtotime (字符串到 unix 时间戳)仅解析英语,因此在没有国际化的情况下需要手动干预来翻译这些字符串。
\n\nfunction germanStrtotime($date_string) {\n $germanDays = array(\'montag\'=>\'monday\', \'mo\'=>\'monday\', \'dienstag\'=>\'tuesday\', \'di\'=>\'tuesday\', \'mittwoch\'=>\'wednesday\', \'mi\'=>\'wednesday\', \'donnerstag\'=>\'thursday\', \'do\'=>\'thursday\', \'freitag\'=>\'friday\', \'fr\'=>\'friday\', \'samstag\'=>\'saturday\', \'sa\'=>\'saturday\', \'sonntag\'=>\'sunday\', \'so\'=>\'sunday\');\n $germanMonths = array(\'jnuar\'=>\'january\', \'jan\'=>\'january\', \'j\xc3\xa4n\'=>\'january\', \'februar\'=>\'february\', \'feb\'=>\'february\', \'marz\'=>\'march\', \'m\xc3\xa4rz\'=>\'march\', \'mai\'=>\'may\', \'juni\'=>\'june\', \'oktober\'=>\'october\', \'okt\'=>\'october\', \'sept\'=>\'september\', \'dezember\'=>\'december\', \'dez\'=>\'december\');\n $str = strtr(strtolower($date_string), $germanMonths);\n $str = strtr(strtolower($str), $germanDays);\n return strtotime($str);\n}\n\n$value =\'Di, 02.Okt 2012\';\n$tempdate = $value;\n$tempdate = germanStrtotime($tempdate);\n$tempdate = date(\'Y-m-d\', $tempdate);\n\ndie(\'Output: \'.$tempdate); // 2012-10-02\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |