Skip to content

Commit 2baa138

Browse files
update
1 parent 568c926 commit 2baa138

File tree

5 files changed

+218
-180
lines changed

5 files changed

+218
-180
lines changed

Capsule/TimeHelper.php

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Tamedevelopers\Support\Capsule;
66

7+
use Tamedevelopers\Support\Str;
78
use Tamedevelopers\Support\Country;
89

910
class TimeHelper {
@@ -78,22 +79,30 @@ public function format($start = false, $year = false)
7879
*
7980
* @return string
8081
*/
81-
static public function setPassedTimezone($timezone = null)
82+
static public function configureAndSetTimezone($timezone = null)
8283
{
83-
if(in_array($timezone, Country::timeZone())){
84+
$timezone = Str::trim($timezone);
85+
86+
if(!empty($timezone) && in_array($timezone, Country::timeZone())){
8487
$timezone = $timezone;
8588
} else{
8689
$timezone = date_default_timezone_get() ?? 'UTC';
8790
}
8891

92+
try {
93+
date_default_timezone_set($timezone);
94+
} catch (\Throwable $th) {
95+
date_default_timezone_set('UTC');
96+
}
97+
8998
return $timezone;
9099
}
91100

92101
/**
93102
* Set Date Time
94103
* @param int|string|null $date
95104
*
96-
* @return int|false
105+
* @return int
97106
*/
98107
static public function setPassedDate($date = null)
99108
{

README.md

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ Support Package For PHP and Laravel
7373
* [Read PDF](#read-pdf)
7474
* [Time](#time)
7575
* [now](#now)
76-
* [ago](#ago)
7776
* [sec](#sec)
7877
* [min](#min)
7978
* [day](#day)
@@ -82,7 +81,7 @@ Support Package For PHP and Laravel
8281
* [month](#month)
8382
* [year](#year)
8483
* [today](#today)
85-
* [date](#date)
84+
* [time](#time)
8685
* [format](#format)
8786
* [yesterday](#yesterday)
8887
* [timestamp](#timestamp)
@@ -109,14 +108,13 @@ Support Package For PHP and Laravel
109108
* [addYears](#addYears)
110109
* [subYears](#subYears)
111110
* [greeting](#greeting)
112-
* [timeDiff](#timeDiff)
111+
* [diff](#diff)
112+
* [ago](#ago)
113113
* [dateRange](#dateRange)
114114
* [allTimezone](#allTimezone)
115115
* [setTimeZone](#setTimeZone)
116116
* [getTimeZone](#getTimeZone)
117117
* [toDateTimeString](#toDateTimeString)
118-
* [setGlobalTimeZone](#setGlobalTimeZone)
119-
* [getGlobalTimeZone](#getGlobalTimeZone)
120118
* [UrlHelper](#UrlHelper)
121119
* [url](#url)
122120
* [http](#http)
@@ -550,17 +548,23 @@ This will read the PDF to the browser
550548
- Visit the Tests/ folder to see more examples.
551549

552550
```
553-
$time = TameTime('now', 'Africa/Lagos');
551+
use Tamedevelopers\Support\Time;
552+
553+
$time = new Time('now', 'Africa/Lagos');
554+
```
555+
556+
### now
557+
558+
```
559+
$time->now()
560+
// returns the Time Object with current timestamp
554561
```
555562

556563
### dateRange
557564
- Build date range according to value given
558565
- Accepts (2) params `value and format`
559566

560567
```
561-
use Tamedevelopers\Support\Time;
562-
$time = new Time();
563-
564568
$time->dateRange('0-10', 'D, M j')
565569
// Output: returns class of Tamedevelopers\Support\Capsule\TimeHelper
566570
@@ -592,16 +596,6 @@ Time::setTimeZone('Pacific/Pago_Pago');
592596
Time::getTimeZone();
593597
```
594598

595-
### setGlobalTimeZone
596-
```
597-
Time::setGlobalTimeZone('Pacific/Pago_Pago');
598-
```
599-
600-
### getGlobalTimeZone
601-
```
602-
Time::getGlobalTimeZone();
603-
```
604-
605599
## UrlHelper
606600
```
607601
[

Tests/time.php

Lines changed: 56 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,75 @@
55
require_once __DIR__ . '/../vendor/autoload.php';
66

77

8-
// set global time zone for server
8+
// set time zone for server
99
// now server time will be set to the given timezone as default
10-
Time::setGlobalTimeZone('Pacific/Pago_Pago');
10+
// Time::setTimeZone('Pacific/Pago_Pago');
1111

1212

13-
// set the default time and timezone
14-
// helper function
15-
$mainTime = TameTime(
13+
// set the default time and timezone for each time
14+
// using helper function
15+
$time = TameTime(
1616
timezone: 'Africa/Lagos',
1717
time: 'now',
1818
);
1919

20-
// Time::setDate('last week');
21-
// Time::setTimezone('Pacific/Pago_Pago');
20+
// $test = Time::setDate('2025-01-14 11:11:12');
21+
// [
22+
// $test->time(),
23+
// $test->sec(),
24+
// $test->min(),
25+
// $test->hour(),
26+
// $test->day(),
27+
// $test->week(),
28+
// ]
2229

23-
// TameTime('yesterday')->time();
24-
// TameTime('last week')->sec();
30+
// Time::allTimezone(),
2531

26-
$time2 = Time::setTimezone('Atlantic/South_Georgia');
27-
$time3 = Time::setTimezone('Indian/Antananarivo');
28-
$time = TameTime('first day of December 2008');
32+
$time2 = (new Time)->setTimezone('America/St_Barthelemy');
33+
$time3 = (new Time)->setTimezone('Indian/Antananarivo');
34+
$time4 = TameTime('first day of December 2008', 'Pacific/Pago_Pago');
2935

3036
dd(
31-
TameTime()->date('yesterday')->ago(),
32-
TameTime()->toJs('now'),
33-
34-
Time::setTimezone('Asia/Tokyo'),
35-
36-
$mainTime->date('last year december')->format(),
37-
$mainTime->getTimeZone(),
38-
39-
$time2->date('this year october')->ago(),
40-
$time2->getTimeZone(),
41-
42-
$time3,
43-
$time3->greetings(),
44-
Time::getGlobalTimeZone(),
37+
[
38+
$time->getTimeZone(),
39+
$time2->getTimeZone(),
40+
$time3->getTimeZone(),
41+
$time4->getTimeZone(),
42+
],
43+
44+
[
45+
$time3->date('first day of December 2008')->format(),
46+
$time3->yesterday()->format(),
47+
$time3->today()->format(),
48+
$time3->now()->format(),
49+
],
50+
51+
$time4->date('first day of this month')->subDays(4),
52+
53+
[
54+
$time->greetings(),
55+
$time2->greetings('now'),
56+
$time3->greetings('24 Jan 2025 14:00:00'),
57+
TameTime()->toJs('today 9:23pm'),
58+
$time->date('last year december')->format(),
59+
$time4->addMonth(10)->addWeek(2)->format(),
60+
$time4->addDay(2000)->ago('date'),
61+
$time4->subDay(10)->ago('date'),
62+
$time4->addYear(10)->ago('date'),
63+
$time4->date('last week monday')->ago('date_time'),
64+
$time4->date('last year december')->diff('weeks'),
65+
],
66+
67+
[
68+
$time4->yesterday()->toDateTimeString(),
69+
$time4->format(null, 'first day of December 2008'),
70+
$time4->date('last year december')->diff(),
71+
$time4->date('last year december')->ago(),
72+
],
73+
4574

4675
TameTime()->dateRange('1-14'),
4776
TameTime()->dateRange('0-40')->format(true, true),
48-
// Time::allTimezone(),
49-
50-
$time->timeDifference(),
51-
$time->addDay(2000)->ago('date'),
52-
$time->subDay(10)->ago('date'),
53-
$time->ago(),
54-
$time->date('last week monday')->ago(),
55-
$time->today()->format(),
56-
$time->now()->addMonth(1)->subDay(1)->format(),
57-
$time->yesterday()->toDateTimeString(),
58-
$time->format(null, 'first day of December 2008'),
77+
//
5978

6079
);

0 commit comments

Comments
 (0)