我一直在尝试在CodeIgniter中构建DateTime object
。我从图书馆加载它。但我似乎无法使用给定的$ time_zone参数构造DateTime()。
我能看到这种情况的唯一方法是在所有方法中添加DateTime对象。
这是使用mvc的一大缺点。有没有人有其他选择?
我的代码:
class Create_Timestamp
{
private $date_time;
/**
* @param $time_zone : gets passed in from a cookie. Cookie value is an array that gets retrieved from the DB. In the
* array there time zone value
* @return int
*/
public function __construct($time_zone)
{
$this->date_time = new DateTime("now", new DateTimeZone($time_zone));
}
public function TimeStamp()
{
$time_stamp = $this->date_time->getTimestamp();
return $time_stamp;
}
public function convertTimeStamp($unix_time_stamp)
{
fb($unix_time_stamp);
$this->date_time->createFromFormat("m/d/Y", $unix_time_stamp);
//$this->date_time->setTimestamp($unix_time_stamp);
$formatted_time_stamp = $this->date_time->format("m/d/Y h:i:s A");
return $formatted_time_stamp;
}
}
答案 0 :(得分:0)
不要重新发明轮子PIE(Proudly Invented Elsewhere)。你会给自己和别人带来很多悲伤。
以Carbon包为例。
如果您有幸使用CI v.3,只需转到您的应用程序文件夹并执行
$ composer require nesbot/carbon
并开始使用
Carbon\Carbon::createFromTimestamp($time_stamp, $time_zone)->toDateTimeString();
如果你正在使用CI v.2.X仍然杠杆作曲家。转到您的应用根目录并执行
$ composer require nesbot/carbon
然后在index.php
添加
require './vendor/autoload.php'; // or whatever the path would be in your case