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 / TimeFormat.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
TimeFormat.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 TimeFormat 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 }