我正在制作多语言公式,必须解决日期格式问题:
在德语中,日期格式为:DD-MM-YYYY 而在另一个国家,例如英格兰的日期格式为:YYYY-MM-DD
虽然这个输入验证处理正确,但我需要为我的php脚本提供一个简单的解决方案来处理不同的日期格式。在我的MySQL-Database中,该字段被创建为" date"领域。
我已经考虑过这样的功能:
<?
if($lang == "de") {
$date = $_POST['date'];
$toConvert = DateTime::createFromFormat('d-m-Y', $date);
$convertedDate = $toConvert->format('Y-m-d');
}
但是,是否有一个更简单的解决方案,即检查所有国家/地区的时间格式与Y-m-d不同?也许是图书馆还是什么?我还没有发现任何事情......
祝你好运 DB-Dzine
答案 0 :(得分:0)
我知道Zend在zend_date中有一些逻辑(需要Zend Framework ^^),但我会使用这样一个简单的解决方案:(从switch语句中获取格式)
$date = $_POST['date'];
$toConvert = DateTime::createFromFormat('d-m-Y', $date);
switch($lang){
case 'de':
$format = 'Y-m-d';
break;
default:
$format = 'd-m-Y';
break
}
$convertedDate = $toConvert->format($format);
通过自己动手,您知道您获得的格式是正确的(按您的标准,并且不会破坏您应用程序中的某些内容)