我写了一篇关于用不同格式/语言翻译日期的课程。但问题是,当我将日期功能包含在其中时,似乎无法正常工作。你知道为什么吗 ?为了理解这个问题,我使用必需品使我的代码更轻松:
class Test {
public function test($timestamp, $format='d/m/Y') {
return date($format, $timestamp);
}
}
好的,这是全班......
class GetDateTime {
private $_text_en_US = array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "January", "February", "March", "April", "May","June", "July", "August", "September","October", "November", "December");
private $_text_fr_FR = array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
public function getDateTime($format='d/m/Y', $timestamp, $locale='fr_FR') {
switch ($format) {
case 'd/m/Y':
case 'm/d/Y':
return date($format, $timestamp);
break;
case 'l d F Y':
return str_replace($_text_en_US, ${'_text_'.$locale}, date($format, $timestamp));
break;
}
}
}
......以及我如何称呼它:
include_once (BASE_DIR.'/lib/dateTime.class.php');
$dateTime = new GetDateTime();
事实是我打电话时没有翻译:
echo $dateTime->getDateTime('l d F Y', date());
答案 0 :(得分:2)
你可能很困惑为什么这个方法没有返回你想要的东西。
new Test(time())
不会返回格式化日期,因为方法test
与类名相同,因此test
方法成为该类的构造函数。您无法从构造函数返回值,因为在创建对象时,将返回对该对象的引用。
将方法test
重命名为不同的名称,初始化类,并调用新方法,如:
$obj = new Test;
echo $obj->new_method(time() + 3600);