PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / ValueObjects / DateTime / TimeOfDay.php
ameliabooking / src / Domain / ValueObjects / DateTime Last commit date
Birthday.php 3 years ago DateTimeValue.php 7 years ago TimeOfDay.php 7 years ago
TimeOfDay.php
60 lines
1 <?php
2 /**
3 * @copyright © TMS-Plugins. All rights reserved.
4 * @licence See LICENCE.md for license details.
5 */
6
7 namespace AmeliaBooking\Domain\ValueObjects\DateTime;
8
9 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
10
11 /**
12 * Class TimeOfDay
13 *
14 * @package AmeliaBooking\Domain\ValueObjects\DateTime
15 */
16 final class TimeOfDay
17 {
18 /** @var bool */
19 private $value;
20
21 /**
22 * TimeOfDay constructor.
23 *
24 * @param $value
25 *
26 * @throws InvalidArgumentException
27 */
28 public function __construct($value)
29 {
30 $time = strtotime($value);
31 $hour = (int)date('H', $time);
32 $minute = (int)date('i', $time);
33 $second = (int)date('s', $time);
34
35 if ($hour < 0 || $hour > 24) {
36 throw new InvalidArgumentException(sprintf('%s should be in range %d-%d', '$hour', 0, 24));
37 }
38
39 if ($minute < 0 || $minute > 59) {
40 throw new InvalidArgumentException(sprintf('%s should be in range %d-%d', '$minute', 0, 59));
41 }
42
43 if ($second < 0 || $second > 59) {
44 throw new InvalidArgumentException(sprintf('%s should be in range %d-%d', '$second', 0, 59));
45 }
46
47 $this->value = $value;
48 }
49
50 /**
51 * Return the value from the value object
52 *
53 * @return string
54 */
55 public function getValue()
56 {
57 return $this->value;
58 }
59 }
60