| <?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); | |
| } | |
| } |