Date Class
The Date class is a set of helper functions for working with dates, contrary to PHP's DateTime class the
Fuel Date class has full support for i18n.
factory($timestamp = null, $timezone = null)
The factory method returns a new date object.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $timestamp |
null
|
The timestamp to set the date object to |
| $timezone |
null
|
The timezone in which the time is set |
|
| Returns |
Fuel\Core\Date Object |
| Example |
print_r( Date::factory( 1294176140 ) );
// Returns
Fuel\Core\Date Object
(
[timestamp:protected] => 1294176140
[timezone:protected] => UTC
)
|
time($timezone = null)
The time method returns the current time in the given timezone as a Date object.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $timezone |
null
|
The timezone in which the time is set |
|
| Returns |
Fuel\Core\Date Object |
| Example |
print_r( Date::time() );
|
create_from_string($input, $pattern_key = 'local')
The create_from_string creates a Date object from a named date string format
This function uses strptime()
for i18n purposes. That method isn't available on Windows hosts however, on those strtotime()
is used instead and the pattern is ignored.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $input |
Required |
The date string to use |
| $pattern_key |
"local" |
The pattern key to use (see config/date.php) |
|
| Returns |
Fuel\Core\Date Object |
| Example |
print_r( Date::create_from_string( "01/04/2011" , "us" ) );
// Returns
Fuel\Core\Date Object
(
[timestamp:protected] => 1322956800
[timezone:protected] => UTC
)
|
range_to_array($start, $end, $interval = '+1 Day')
The range_to_array converts a range of dates into an array of date objects
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $start |
Required |
The start date either as a Date object or a timestamp |
| $end |
Required |
The end date either as a Date object or a timestamp |
| $interval |
"+1 Day" |
The interval at which to create a Date object |
|
| Returns |
array |
| Example |
$start = time();
$end = $start + 604800; // Plus 1 week
print_r( Date::range_to_array($start, $end, "+2 days") );
// Returns
Array
(
[0] => Fuel\Core\Date Object
(
[timestamp:protected] => 1294181818
[timezone:protected] => UTC
)
[1] => Fuel\Core\Date Object
(
[timestamp:protected] => 1294354618
[timezone:protected] => UTC
)
[2] => Fuel\Core\Date Object
(
[timestamp:protected] => 1294527418
[timezone:protected] => UTC
)
[3] => Fuel\Core\Date Object
(
[timestamp:protected] => 1294700218
[timezone:protected] => UTC
)
)
|
days_in_month($month, $year = null)
The days_in_month returns the number of days in any given month, in the year specified
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $month |
Required |
The month to use |
| $year |
null
|
The year to use (defaults to current year) |
|
| Returns |
int |
| Example |
echo Date::days_in_month(2); // 28
echo Date::days_in_month(2,2000); // 29
|
time_ago($timestamp)
The time_ago method returns a formatted time difference.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $timestamp |
Required |
The UNIX timestamp |
|
| Returns |
string |
| Example |
echo Date::time_ago( 1294176140 ); // 3 months ago
|
format($pattern_key = 'local')
The formatted method returns a formatted date as specified by the pattern key. The
patterns are defined in the fuel/core/config/date.php config file - you can add your own
by creating a similar file in app/config.
This method uses patterns for the strftime()
function instead of date() to allow for i18n.
| Static |
No |
| Parameters |
| Param |
Default |
Description |
| $pattern_key |
"local" |
The pattern key to use (see config/date.php) |
|
| Returns |
string |
| Example |
echo Date::factory( 1294176140 )->format("%m/%d/%Y"); // 01/04/2011
|
get_timestamp()
The get_timestamp method returns the Date object's timestamp
| Static |
No |
| Returns |
int |
| Example |
echo Date::factory( 1294176140 )->get_timestamp(); // 1294176140
|
get_timezone()
The get_timezone method returns the Date object's timezone
| Static |
No |
| Returns |
string |
| Example |
echo Date::factory( 1294176140, "Europe/London" )->get_timezone(); // Europe/London
|
set_timezone($timezone)
The set_timezone method sets the Date object's timezone
| Static |
No |
| Parameters |
| Param |
Default |
Description |
| $timezone |
required |
The timezone to set the Date object to |
|
| Returns |
string |
| Example |
echo Date::factory( 1294176140 )->set_timezone("America/Chicago")->get_timezone(); // America/Chicago
|