How to set custom date format using Magento 2?

You can set Custom formatting of Date using Magento 2 by DateTimeFactory Class.

You just need to pass custom format of date in gmtDate() function as per your requirement.

Many times, you need to set Date format to specific format, While you are working with third party API and you need to pass Date as the specific format from Magento, in this situations you can use below code snippet.

namespace Rbj\CustomDate\Model;

use Magento\Framework\Stdlib\DateTime\DateTimeFactory;

class FormatDate
     * Custom Date format
    const FORMAT_DATE = 'd-m-Y H:i:s';

     * @var DateTimeFactory
    private $dateTimeFactory;

    public function __construct(
        DateTimeFactory $dateTimeFactory
    ) {
        $this->dateTimeFactory = $dateTimeFactory;

     * Get Current Format date
     * @return string
    public function getFormatDate(): string
        $dateModel = $this->dateTimeFactory->create();
        return $dateModel->gmtDate(self::FORMAT_DATE);

In the above date format result format will be, “d-m-Y H:i:s”.
Its Indian standard date format like Date-Month and Year.

Call $this->getFormatDate() to get Result as specified Date format of current time.

You just need to change the format using const FORMAT_DATE.