Magento 2-現在の日付を取得するためのベストプラクティス
updated_atカスタムエンティティの属性を保存し、Magento 2がそれをどのように処理するかを調べたベストプラクティスを知る必要があります。 私は\Magento\Eav\Model\Entity\Attribute\Backend\Time\Updated属性バックエンドモデルクラスを見て、ここにコードがあります: public function beforeSave($object) { $object->setData( $this->getAttribute()->getAttributeCode(), (new \DateTime())->format(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT) ); return $this; } 私の最初の疑問は、どのタイムゾーンが考慮に入れられるかです。 DateTimeコンストラクタのシグネチャは次のとおりです。 public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] ) コンストラクタのドキュメントによると: $ timezoneを省略すると、現在のタイムゾーンが使用されます。 現在のタイムゾーンはサーバーレベルで構成されているタイムゾーンだと思います。 それを証明するには、次のPHPスニペットを実行します。 <?php var_dump(new DateTime()); 期待される結果は次のとおりです。 object(DateTime)#1 (3) { ["date"]=> string(26) "2016-05-10 12:47:11.000000" ["timezone_type"]=> int(3) ["timezone"]=> …