PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.31
Booking for Appointments and Events Calendar – Amelia v1.2.31
2.4.5 2.4.4 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 1 year ago
TimeOfDay.php
61 lines
1 <?php
2
3 /**
4 * @copyright © TMS-Plugins. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Domain\ValueObjects\DateTime;
9
10 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
11
12 /**
13 * Class TimeOfDay
14 *
15 * @package AmeliaBooking\Domain\ValueObjects\DateTime
16 */
17 final class TimeOfDay
18 {
19 /** @var bool */
20 private $value;
21
22 /**
23 * TimeOfDay constructor.
24 *
25 * @param $value
26 *
27 * @throws InvalidArgumentException
28 */
29 public function __construct($value)
30 {
31 $time = strtotime($value);
32 $hour = (int)date('H', $time);
33 $minute = (int)date('i', $time);
34 $second = (int)date('s', $time);
35
36 if ($hour < 0 || $hour > 24) {
37 throw new InvalidArgumentException(sprintf('%s should be in range %d-%d', '$hour', 0, 24));
38 }
39
40 if ($minute < 0 || $minute > 59) {
41 throw new InvalidArgumentException(sprintf('%s should be in range %d-%d', '$minute', 0, 59));
42 }
43
44 if ($second < 0 || $second > 59) {
45 throw new InvalidArgumentException(sprintf('%s should be in range %d-%d', '$second', 0, 59));
46 }
47
48 $this->value = $value;
49 }
50
51 /**
52 * Return the value from the value object
53 *
54 * @return string
55 */
56 public function getValue()
57 {
58 return $this->value;
59 }
60 }
61