PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
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 2 days ago DateObject.php 2 days ago LocalizedDateFormat.php 2 days ago TimeDifference.php 2 days ago Timestamp.php 2 days 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 public function format(Value $value): Value
14 {
15 if ($this->is_invalid_date((string)$value)) {
16 throw ValueNotFoundException::from_id($value->get_id());
17 }
18
19 $date = (string)$value;
20
21 if (is_numeric($date)) {
22 return $value->with_value((int)$date);
23 }
24
25 $time = strtotime($date);
26
27 if (false === $time) {
28 throw ValueNotFoundException::from_id($value->get_id());
29 }
30
31 return $value->with_value($time);
32 }
33
34 private function is_invalid_date(string $date): bool
35 {
36 return ! $date || in_array($date, ['0000-00-00 00:00:00', '0000-00-00', '00:00:00'], true);
37 }
38
39 }
40