PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Formatter / Date / Timestamp.php
codepress-admin-columns / classes / Formatter / Date Last commit date
DateFormat.php 5 months ago DateObject.php 5 months ago LocalizedDateFormat.php 5 months ago TimeDifference.php 5 months ago TimeFormat.php 5 months ago Timestamp.php 5 months ago
Timestamp.php
40 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter\Date;
6
7 use AC\Exception\ValueNotFoundException;
8 use AC\Formatter;
9 use AC\Type\Value;
10
11 final class Timestamp implements Formatter
12 {
13
14 public function format(Value $value): Value
15 {
16 if ($this->is_invalid_date((string)$value)) {
17 throw ValueNotFoundException::from_id($value->get_id());
18 }
19
20 $date = (string)$value;
21
22 if (is_numeric($date)) {
23 return $value->with_value((int)$date);
24 }
25
26 $time = strtotime($date);
27
28 if (false === $time) {
29 throw ValueNotFoundException::from_id($value->get_id());
30 }
31
32 return $value->with_value($time);
33 }
34
35 private function is_invalid_date(string $date): bool
36 {
37 return ! $date || in_array($date, ['0000-00-00 00:00:00', '0000-00-00', '00:00:00'], true);
38 }
39
40 }