Initial Release

This commit is contained in:
Jérôme Gamez
2021-12-10 16:09:27 +01:00
commit 10c02d2b49
28 changed files with 986 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
<?php
require __DIR__.'/../vendor/autoload.php';
use Beste\Clock\FrozenClock;
use Beste\Clock\SystemClock;
$frozenClock = FrozenClock::withNowFrom(SystemClock::create());
printf("\nThe clock is frozen at %s", $frozenClock->now()->format('Y-m-d H:i:s T (P)'));
printf("\nLet's wait a second…");
sleep(1);
printf("\nIt's one second later, but the clock is still frozen at %s", $frozenClock->now()->format('Y-m-d H:i:s T (P)'));
$frozenClock->setTo($frozenClock->now()->modify('-5 minutes'));
printf("\nAfter turning back the clock 5 minutes, it's %s", $frozenClock->now()->format('Y-m-d H:i:s T (P)'));
+11
View File
@@ -0,0 +1,11 @@
<?php
require __DIR__.'/../vendor/autoload.php';
use Beste\Clock\LocalizedClock;
$berlin = LocalizedClock::in('Europe/Berlin');
$denver = LocalizedClock::in(new DateTimeZone('America/Denver'));
printf("Berlin: %s\n", $berlin->now()->format('Y-m-d H:i:s T (P)'));
printf("Denver: %s\n", $denver->now()->format('Y-m-d H:i:s T (P)'));
+21
View File
@@ -0,0 +1,21 @@
<?php
require __DIR__.'/../vendor/autoload.php';
use Beste\Clock\FrozenClock;
use Beste\Clock\MinuteClock;
$frozenClock = FrozenClock::at(new DateTimeImmutable('01:23:45'));
$clock = MinuteClock::wrapping($frozenClock);
printf("For %s, the minute clock returns %s\n",
$frozenClock->now()->format('H:i:s'),
$clock->now()->format('H:i:s')
);
$frozenClock->setTo($frozenClock->now()->modify('+10 seconds')); // 01:23:55
printf("For %s, the minute clock still returns %s\n",
$frozenClock->now()->format('H:i:s'),
$clock->now()->format('H:i:s')
);
+17
View File
@@ -0,0 +1,17 @@
<?php
require __DIR__.'/../vendor/autoload.php';
use Beste\Clock\SystemClock;
$clock = SystemClock::create();
printf("On your system, the current date and time is %s\n", $clock->now()->format('Y-m-d H:i:s T (P)'));
date_default_timezone_set('America/Los_Angeles');
printf("Now it's %s\n", $clock->now()->format('Y-m-d H:i:s T (P)'));
date_default_timezone_set('Europe/Berlin');
printf("Now it's %s\n", $clock->now()->format('Y-m-d H:i:s T (P)'));
+14
View File
@@ -0,0 +1,14 @@
<?php
require __DIR__.'/../vendor/autoload.php';
use Beste\Clock\UTCClock;
$clock = UTCClock::create();
$anotherTimeZone = 'Africa/Casablanca';
date_default_timezone_set($anotherTimeZone);
printf("The system time zone is %s.\n", $anotherTimeZone);
printf("The clock's time zone is %s.\n", $clock->now()->getTimezone()->getName());