| <?php |
| |
| namespace Google\Protobuf\Internal; |
| |
| /** |
| * Base class for Google\Protobuf\Timestamp, this contains hand-written |
| * convenience methods. |
| */ |
| class TimestampBase extends \Google\Protobuf\Internal\Message |
| { |
| /* |
| * Converts PHP DateTime to Timestamp. |
| * |
| * @param \DateTime $datetime |
| */ |
| public function fromDateTime(\DateTime $datetime) |
| { |
| $this->seconds = $datetime->getTimestamp(); |
| $this->nanos = 1000 * $datetime->format('u'); |
| } |
| |
| /** |
| * Converts Timestamp to PHP DateTime. |
| * |
| * @return \DateTime $datetime |
| */ |
| public function toDateTime() |
| { |
| $time = sprintf('%s.%06d', $this->seconds, $this->nanos / 1000); |
| return \DateTime::createFromFormat('U.u', $time); |
| } |
| } |