Skip to content

Commit 1ccc31c

Browse files
committed
Update readme
1 parent 9beb382 commit 1ccc31c

5 files changed

Lines changed: 44 additions & 26 deletions

File tree

README.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ use Fresh\DateTime\DateTimeHelper;
4141
$dateTimeHelper = new DateTimeHelper();
4242

4343
$now1 = $dateTimeHelper->getCurrentDatetime();
44-
$now2 = $dateTimeHelper->getCurrentDatetime(new \DateTimeZone('Europe/Kiev')); // Or with custom timezone
44+
$now2 = $dateTimeHelper->getCurrentDatetime(new \DateTimeZone('Europe/Kyiv')); // Or with custom timezone
4545
$now3 = $dateTimeHelper->getCurrentDatetimeUtc(); // Always in UTC
4646
$now4 = $dateTimeHelper->getCurrentDatetimeImmutable();
47-
$now5 = $dateTimeHelper->getCurrentDatetimeImmutable(new \DateTimeZone('Europe/Kiev')); // Or with custom timezone
47+
$now5 = $dateTimeHelper->getCurrentDatetimeImmutable(new \DateTimeZone('Europe/Kyiv')); // Or with custom timezone
4848
$now6 = $dateTimeHelper->getCurrentDatetimeImmutableUtc(); // Always in UTC
4949
```
5050

@@ -69,6 +69,24 @@ $timestamp = $dateTimeHelper->getCurrentTimestamp();
6969

7070
```
7171

72+
### Method for creation \DateTime or \DateTimeImmutable from format
73+
74+
```php
75+
use Fresh\DateTime\DateTimeHelper;
76+
77+
$dateTimeHelper = new DateTimeHelper();
78+
79+
// By default with format Y-m-d H:i:s and UTC timezone
80+
$dateTime = $dateTimeHelper->createDateTimeFromFormat('2000-01-01 00:00:00');
81+
$dateTimeImmutable = $dateTimeHelper->createDateTimeImmutableFromFormat('2000-01-01 00:00:00');
82+
83+
// With custom format
84+
$dateTime = $dateTimeHelper->createDateTimeFromFormat('01.01.2000 00:00:00', 'd.m.Y H:i:s');
85+
86+
// With custom timezone
87+
$dateTime = $dateTimeHelper->createDateTimeFromFormat('01.01.2000 00:00:00', 'd.m.Y H:i:s', new \DateTimeZone('Europe/Kyiv'));
88+
```
89+
7290
### Method for creating `\DateTimeZone` object
7391

7492
If you create a `\DateTimeZone` object directly in your code, you will not be able to mock it in tests.
@@ -80,7 +98,7 @@ use Fresh\DateTime\DateTimeHelper;
8098
$dateTimeHelper = new DateTimeHelper();
8199

82100
$dateTimeZone1 = $dateTimeHelper->createDateTimeZone(); // UTC by default
83-
$dateTimeZone2 = $dateTimeHelper->createDateTimeZone('Europe/Kiev'); // Or with custom timezone
101+
$dateTimeZone2 = $dateTimeHelper->createDateTimeZone('Europe/Kyiv'); // Or with custom timezone
84102
$dateTimeZone3 = $dateTimeHelper->createDateTimeZoneUtc(); // Another method to get UTC timezone
85103
```
86104

@@ -95,7 +113,7 @@ This library provides a `DateRange` immutable class, which is not able to be cha
95113
use Fresh\DateTime\DateRange;
96114

97115
$dateRange1 = new DateRange(new \DateTime('yesterday'), new \DateTime('tomorrow'));
98-
$dateRange2 = new DateRange(new \DateTime('yesterday'), new \DateTime('tomorrow', new \DateTimeZone('Europe/Kiev')));
116+
$dateRange2 = new DateRange(new \DateTime('yesterday'), new \DateTime('tomorrow', new \DateTimeZone('Europe/Kyiv')));
99117

100118
// There is also the `isEqual` method to compare two DateRange objects.
101119
$dateRange1->isEqual($dateRange2); // Returns FALSE, because date ranges have different timezones
@@ -109,7 +127,7 @@ This library provides also immutable class `DateTimeRange`, instead of `DateRan
109127
use Fresh\DateTime\DateTimeRange;
110128

111129
$dateTimeRange1 = new DateTimeRange(new \DateTime('2000-01-01 19:00:00'), new \DateTime('2000-01-01 21:00:00'));
112-
$dateTimeRange2 = new DateTimeRange(new \DateTime('2000-01-01 19:00:00'), new \DateTime('2000-01-01 21:00:00', new \DateTimeZone('Europe/Kiev')));
130+
$dateTimeRange2 = new DateTimeRange(new \DateTime('2000-01-01 19:00:00'), new \DateTime('2000-01-01 21:00:00', new \DateTimeZone('Europe/Kyiv')));
113131
$dateTimeRange3 = new DateTimeRange(new \DateTime('2000-01-01 20:00:00'), new \DateTime('2000-01-01 22:00:00'));
114132

115133
// There is also the `isEqual` method to compare two DateTimeRange objects.

tests/DateRangeTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function constructor(): void
4343
#[Test]
4444
public function constructorWithExceptionForDifferentTimezones(): void
4545
{
46-
$since = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
46+
$since = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
4747
$till = new \DateTime('now', new \DateTimeZone('Europe/Warsaw'));
4848

4949
$this->expectException(LogicException::class);
@@ -76,8 +76,8 @@ public function isEqual(): void
7676
new \DateTime('now', new \DateTimeZone('UTC'))
7777
);
7878
$dateRange6 = new DateRange(
79-
new \DateTime('now', new \DateTimeZone('Europe/Kiev')),
80-
new \DateTime('tomorrow', new \DateTimeZone('Europe/Kiev'))
79+
new \DateTime('now', new \DateTimeZone('Europe/Kyiv')),
80+
new \DateTime('tomorrow', new \DateTimeZone('Europe/Kyiv'))
8181
);
8282

8383
$this->assertTrue($dateRange1->isEqual($dateRange2), 'Since/till timezones are same, time is same');

tests/DateTimeClonerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class DateTimeClonerTest extends TestCase
2727
#[Test]
2828
public function cloneIntoDateTime(): void
2929
{
30-
$datetime = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
30+
$datetime = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
3131
$clonedDateTime = DateTimeCloner::cloneIntoDateTime($datetime);
3232

3333
$this->assertInstanceOf(\DateTime::class, $clonedDateTime);
@@ -59,7 +59,7 @@ public function coneIntoDateTimeWithException(): void
5959
#[Test]
6060
public function cloneIntoDateTimeImmutable(): void
6161
{
62-
$datetime = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
62+
$datetime = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
6363
$cloneIntoDateTimeImmutable = DateTimeCloner::cloneIntoDateTimeImmutable($datetime);
6464

6565
$this->assertInstanceOf(\DateTimeImmutable::class, $cloneIntoDateTimeImmutable);

tests/DateTimeHelperTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function createDateTimeZone(): void
5858
$this->assertInstanceOf(\DateTimeZone::class, $timezone);
5959
$this->assertSame('UTC', $timezone->getName());
6060

61-
$timezone = $this->dateTimeHelper->createDateTimeZone('Europe/Kiev');
61+
$timezone = $this->dateTimeHelper->createDateTimeZone('Europe/Kyiv');
6262
$this->assertInstanceOf(\DateTimeZone::class, $timezone);
6363
}
6464

@@ -89,9 +89,9 @@ public function getCurrentDatetime(): void
8989
$now = $this->dateTimeHelper->getCurrentDatetime();
9090
$this->assertInstanceOf(\DateTime::class, $now);
9191

92-
$now = $this->dateTimeHelper->getCurrentDatetime(new \DateTimeZone('Europe/Kiev'));
92+
$now = $this->dateTimeHelper->getCurrentDatetime(new \DateTimeZone('Europe/Kyiv'));
9393
$this->assertInstanceOf(\DateTime::class, $now);
94-
$this->assertSame('Europe/Kiev', $now->getTimezone()->getName());
94+
$this->assertSame('Europe/Kyiv', $now->getTimezone()->getName());
9595
}
9696

9797
#[Test]
@@ -108,9 +108,9 @@ public function getCurrentDatetimeImmutable(): void
108108
$now = $this->dateTimeHelper->getCurrentDatetimeImmutable();
109109
$this->assertInstanceOf(\DateTimeImmutable::class, $now);
110110

111-
$now = $this->dateTimeHelper->getCurrentDatetimeImmutable(new \DateTimeZone('Europe/Kiev'));
111+
$now = $this->dateTimeHelper->getCurrentDatetimeImmutable(new \DateTimeZone('Europe/Kyiv'));
112112
$this->assertInstanceOf(\DateTimeImmutable::class, $now);
113-
$this->assertSame('Europe/Kiev', $now->getTimezone()->getName());
113+
$this->assertSame('Europe/Kyiv', $now->getTimezone()->getName());
114114
}
115115

116116
#[Test]

tests/DateTimeRangeTest.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public function constructor(): void
4444
#[Test]
4545
public function constructorWithExceptionForDifferentTimezones(): void
4646
{
47-
$since = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
47+
$since = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
4848
$till = new \DateTime('now', new \DateTimeZone('Europe/Warsaw'));
4949

5050
$this->expectException(LogicException::class);
@@ -56,23 +56,23 @@ public function constructorWithExceptionForDifferentTimezones(): void
5656
#[Test]
5757
public function getTimezone(): void
5858
{
59-
$since = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
60-
$till = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
59+
$since = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
60+
$till = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
6161

6262
$dateTimeRange = new DateTimeRange($since, $till);
6363

64-
$this->assertEquals('Europe/Kiev', $dateTimeRange->getTimezone()->getName());
64+
$this->assertEquals('Europe/Kyiv', $dateTimeRange->getTimezone()->getName());
6565
}
6666

6767
#[Test]
6868
public function getTimezoneName(): void
6969
{
70-
$since = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
71-
$till = new \DateTime('now', new \DateTimeZone('Europe/Kiev'));
70+
$since = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
71+
$till = new \DateTime('now', new \DateTimeZone('Europe/Kyiv'));
7272

7373
$dateTimeRange = new DateTimeRange($since, $till);
7474

75-
$this->assertEquals('Europe/Kiev', $dateTimeRange->getTimezoneName());
75+
$this->assertEquals('Europe/Kyiv', $dateTimeRange->getTimezoneName());
7676
}
7777

7878
#[Test]
@@ -99,8 +99,8 @@ public function isEqual(): void
9999
new \DateTime('2000-01-01 21:00:00', new \DateTimeZone('UTC'))
100100
);
101101
$dateTimeRange6 = new DateTimeRange(
102-
new \DateTime('2000-01-01 14:45:00', new \DateTimeZone('Europe/Kiev')),
103-
new \DateTime('2000-01-01 15:00:00', new \DateTimeZone('Europe/Kiev'))
102+
new \DateTime('2000-01-01 14:45:00', new \DateTimeZone('Europe/Kyiv')),
103+
new \DateTime('2000-01-01 15:00:00', new \DateTimeZone('Europe/Kyiv'))
104104
);
105105

106106
$this->assertTrue($dateTimeRange1->isEqual($dateTimeRange2), 'Since/till timezones are same, time is same');
@@ -372,8 +372,8 @@ public function intersectsWithExceptionForDifferentTimezones(): void
372372
new \DateTime('2000-01-01 21:00:00', new \DateTimeZone('UTC'))
373373
);
374374
$dateRange2 = new DateTimeRange(
375-
new \DateTime('2000-01-01 21:00:00', new \DateTimeZone('Europe/Kiev')),
376-
new \DateTime('2000-01-01 23:00:00', new \DateTimeZone('Europe/Kiev'))
375+
new \DateTime('2000-01-01 21:00:00', new \DateTimeZone('Europe/Kyiv')),
376+
new \DateTime('2000-01-01 23:00:00', new \DateTimeZone('Europe/Kyiv'))
377377
);
378378

379379
$this->expectException(LogicException::class);

0 commit comments

Comments
 (0)