系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
在Magento 2中,您可以使用PHP提供的日期时间函数(如date()、strtotime()等)来处理日期时间。此外,Magento 2还提供了DateTime类和DateTimeFactory类,可用于更方便地处理日期时间。
以下是使用Magento 2日期时间库的代码示例:
获取当前时间
use Magento\Framework\Stdlib\DateTime\DateTime; class Example { protected $dateTime; public function __construct(DateTime $dateTime) { $this->dateTime = $dateTime; } public function getCurrentTime() { return $this->dateTime->gmtDate(); } }
在上面的示例中,我们使用Magento 2的DateTime类中的gmtDate()方法来获取当前的UTC时间。gmtDate()方法返回一个格式化的时间字符串,格式为YYYY-MM-DD HH:MM:SS。
转换时间戳为日期时间
use Magento\Framework\Stdlib\DateTime\DateTime; class Example { protected $dateTime; public function __construct(DateTime $dateTime) { $this->dateTime = $dateTime; } public function convertTimestamp($timestamp) { return $this->dateTime->gmtDate(null, $timestamp); } }
在上面的示例中,我们使用Magento 2的DateTime类中的gmtDate()方法来将Unix时间戳转换为日期时间。gmtDate()方法的第二个参数是Unix时间戳,第一个参数为空表示使用当前时间作为基准。
将日期时间转换为时间戳
use Magento\Framework\Stdlib\DateTime\DateTime; class Example { protected $dateTime; public function __construct(DateTime $dateTime) { $this->dateTime = $dateTime; } public function convertDateToTimestamp($date) { return $this->dateTime->gmtTimestamp($date); } }
在上面的示例中,我们使用Magento 2的DateTime类中的gmtTimestamp()方法将日期时间转换为Unix时间戳。
请注意,以上示例中的日期时间均为UTC时间。如果需要使用本地时间,则应使用Magento 2的DateTimeFactory类,并在构造函数中注入时区对象