PluginProbe
Media Cloud Sync / 1.4.2
Media Cloud Sync v1.4.2
1.4.2 1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 All 36 releases
media-cloud-sync / includes / sdk / google / ramsey / uuid / src / Rfc4122 / TimeTrait.php

TimeTrait.php in Media Cloud Sync 1.4.2, at includes/sdk/google/ramsey/uuid/src/Rfc4122/TimeTrait.php

43 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * This file is part of the ramsey/uuid library
5 *
6 * For the full copyright and license information, please view the LICENSE
7 * file that was distributed with this source code.
8 *
9 * @copyright Copyright (c) Ben Ramsey <[email protected]>
10 * @license http://opensource.org/licenses/MIT MIT
11 */
12 declare (strict_types=1);
13 namespace Dudlewebs\WPMCS\GCP\Ramsey\Uuid\Rfc4122;
14
15 use DateTimeImmutable;
16 use DateTimeInterface;
17 use Dudlewebs\WPMCS\GCP\Ramsey\Uuid\Exception\DateTimeException;
18 use Throwable;
19 use function str_pad;
20 use const STR_PAD_LEFT;
21 /**
22 * Provides common functionality for getting the time from a time-based UUID
23 *
24 * @immutable
25 */
26 trait TimeTrait
27 {
28 /**
29 * Returns a DateTimeInterface object representing the timestamp associated with the UUID
30 *
31 * @return DateTimeImmutable A PHP DateTimeImmutable instance representing the timestamp of a time-based UUID
32 */
33 public function getDateTime() : DateTimeInterface
34 {
35 $time = $this->timeConverter->convertTime($this->fields->getTimestamp());
36 try {
37 return new DateTimeImmutable('@' . $time->getSeconds()->toString() . '.' . str_pad($time->getMicroseconds()->toString(), 6, '0', STR_PAD_LEFT));
38 } catch (Throwable $e) {
39 throw new DateTimeException($e->getMessage(), (int) $e->getCode(), $e);
40 }
41 }
42 }
43