Open Journal Systems  3.3.0
DateHeader.php
1 <?php
2 
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
13 
19 final class DateHeader extends AbstractHeader
20 {
21  private $dateTime;
22 
23  public function __construct(string $name, \DateTimeInterface $date)
24  {
25  parent::__construct($name);
26 
27  $this->setDateTime($date);
28  }
29 
33  public function setBody($body)
34  {
35  $this->setDateTime($body);
36  }
37 
38  public function getBody(): \DateTimeImmutable
39  {
40  return $this->getDateTime();
41  }
42 
43  public function getDateTime(): \DateTimeImmutable
44  {
45  return $this->dateTime;
46  }
47 
53  public function setDateTime(\DateTimeInterface $dateTime)
54  {
55  if ($dateTime instanceof \DateTime) {
56  $immutable = new \DateTimeImmutable('@'.$dateTime->getTimestamp());
57  $dateTime = $immutable->setTimezone($dateTime->getTimezone());
58  }
59  $this->dateTime = $dateTime;
60  }
61 
62  public function getBodyAsString(): string
63  {
64  return $this->dateTime->format(\DateTime::RFC2822);
65  }
66 }
Symfony\Component\Mime\Header\DateHeader\getBodyAsString
getBodyAsString()
Definition: DateHeader.php:62
Symfony\Component\Mime\Header\DateHeader\getBody
getBody()
Definition: DateHeader.php:38
Symfony\Component\Mime\Header\DateHeader\getDateTime
getDateTime()
Definition: DateHeader.php:43
Symfony\Component\Mime\Header
Definition: AbstractHeader.php:12
Symfony\Component\Mime\Header\DateHeader\__construct
__construct(string $name, \DateTimeInterface $date)
Definition: DateHeader.php:23
Symfony\Component\Mime\Header\DateHeader\setDateTime
setDateTime(\DateTimeInterface $dateTime)
Definition: DateHeader.php:53
Symfony\Component\Mime\Header\AbstractHeader
Definition: AbstractHeader.php:21
Symfony\Component\Mime\Header\DateHeader\setBody
setBody($body)
Definition: DateHeader.php:33
Symfony\Component\Mime\Header\DateHeader
Definition: DateHeader.php:19