PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 6 months ago DateTimeValue.php 6 months ago TimeOfDay.php 6 months ago
TimeOfDay.php
61 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. 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 string */
20 private $value;
21
22 /**
23 * TimeOfDay constructor.
24 *
25 * @param string $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