^Status|Draft|
^Todo|Proof read|
====== Date Helper ======
The Date helper assists in formating dates and times allowing for addition and conversion between different formats.
===== Methods =====
==== unix2dos() ====
'unix2dos' converts UNIX time into DOS time.
The one arguments is:
* [int] UNIX timestamp
**Example:**
// Please note that the print() statements are for display purposes only
$time = mktime(0, 0, 0, 31, 10, 1987);
print ($time);
$time = date::unix2dos($time);
print ($time);
It will result in HTML as:
616046400
317325312
==== dos2unix() ====
'dos2unix' converts DOS time into UNIX time.
The one arguments is:
* [int] DOS timestamp
**Example:**
// Please note that the print() statements are for display purposes only
$time = 317325312;
print ($time);
$time = date::dos2unix($time);
print ($time);
It will result in HTML as:
317325312
616046400
==== offset() ====
'offset' calculates the seconds between two timezones.
The two arguments are:
* [int] remote timezone
* [mixed] use local time? -- default is TRUE -- else enter your own
**Example:**
// Please note that the print() statements are for display purposes only
// This example was executed in the EST timezone
print (date::offset('CST').'
');
print (date::offset('CST', 'MST').'
');
print (date::offset('UTC', 'GMT').'
');
It will result in HTML as:
-3600
3600
0
==== seconds() ====
'seconds' creates an array of numbers based on your input.
The three arguments are:
* [int] step (count by) -- default = 1
* [int] start number -- default = 0
* [int] end number -- default = 60
**Example:**
// Please note that the print() statements are for display purposes only
print Kohana::debug(date::seconds());
print Kohana::debug(date::seconds(2,1,7));
print Kohana::debug(date::seconds(100,200,400));
It will result in HTML as:
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => 10
[11] => 11
[12] => 12
[13] => 13
[14] => 14
[15] => 15
[16] => 16
[17] => 17
[18] => 18
[19] => 19
[20] => 20
[21] => 21
[22] => 22
[23] => 23
[24] => 24
[25] => 25
[26] => 26
[27] => 27
[28] => 28
[29] => 29
[30] => 30
[31] => 31
[32] => 32
[33] => 33
[34] => 34
[35] => 35
[36] => 36
[37] => 37
[38] => 38
[39] => 39
[40] => 40
[41] => 41
[42] => 42
[43] => 43
[44] => 44
[45] => 45
[46] => 46
[47] => 47
[48] => 48
[49] => 49
[50] => 50
[51] => 51
[52] => 52
[53] => 53
[54] => 54
[55] => 55
[56] => 56
[57] => 57
[58] => 58
[59] => 59
)
Array
(
[1] => 1
[3] => 3
[5] => 5
)
Array
(
[200] => 200
[300] => 300
)
==== minutes() ====
Please see [[date#seconds]].
==== hours() ====
'hours' counts the number of hours there are left in a day or from a specific start point.
The three arguments are:
* [int] step (count by) -- default = 1
* [boolean] 24-hour time? -- default = FALSE
* [int] start hour -- default = 1
**Example:**
// Please note that the print() statements are for display purposes only
// This example ran at 6:10PM EST
print Kohana::debug(date::hours());
print Kohana::debug(date::hours(1, TRUE, 9));
print Kohana::debug(date::hours(1, TRUE, 22));
print Kohana::debug(date::hours(1, TRUE, date('g'))); // 24-hour format of an hour without leading zeros
It will result in HTML as:
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => 10
[11] => 11
[12] => 12
)
Array
(
[9] => 9
[10] => 10
[11] => 11
[12] => 12
[13] => 13
[14] => 14
[15] => 15
[16] => 16
[17] => 17
[18] => 18
[19] => 19
[20] => 20
[21] => 21
[22] => 22
[23] => 23
)
Array
(
[22] => 22
[23] => 23
)
Array
(
[18] => 18
[19] => 19
[20] => 20
[21] => 21
[22] => 22
[23] => 23
)
==== ampm() ====
'ampm' calculates whether the supplied integer makes the hour AM or PM.
The one argument is:
* [int] hour to calculate
**Example:**
// Please note that the print() statements are for display only
// This example ran at 5:45PM EST
print Kohana::debug(date::ampm(1));
print Kohana::debug(date::ampm(13));
print Kohana::debug(date::ampm(date('G'))); // 24-hour format of an hour without leading zeros
It will result in HTML as:
AM
PM
PM
==== days() ====
'days' counts the number of days there are in a specific month of a specific year.
The two arguments are:
* [int] month (1-12)
* [int] year -- default: current year
**Example:**
// Please note that the print() statement is for display purposes only
print Kohana::debug(date::days(5,2007));
It will result in HTML as:
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => 10
[11] => 11
[12] => 12
[13] => 13
[14] => 14
[15] => 15
[16] => 16
[17] => 17
[18] => 18
[19] => 19
[20] => 20
[21] => 21
[22] => 22
[23] => 23
[24] => 24
[25] => 25
[26] => 26
[27] => 27
[28] => 28
[29] => 29
[30] => 30
[31] => 31
)
==== months() ====
'months' returns an mirrored array with the month-numbers of the year.
**Example:**
// Please note that the print() statement is for display purposes only
print Kohana::debug(date::months());
It will result in HTML as:
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => 10
[11] => 11
[12] => 12
)
==== years() ====
'years' returns an array with the years between the specified years.
The two arguments are:
* [int] start year-- default = current year - 5
* [int] end year -- default = current year + 5
**Example:**
// Please note that the print() statements are for display purposes only
// This example ran in 2007
print Kohana::debug(date::years());
print Kohana::debug(date::years(1998,2002));
It will result in HTML as:
Array
(
[2002] => 2002
[2003] => 2003
[2004] => 2004
[2005] => 2005
[2006] => 2006
[2007] => 2007
[2008] => 2008
[2009] => 2009
[2010] => 2010
[2011] => 2011
[2012] => 2012
)
Array
(
[1998] => 1998
[1999] => 1999
[2000] => 2000
[2001] => 2001
[2002] => 2002
)
==== timespan() ====
'timespan' returns the time between two timestamps in a human readable format.
The arguments are:
* [int] timestamp 1
* [int] timestamp 2 -- default: current timestamp
* [string] format -- default: 'years,months,weeks,days,hours,minutes,seconds'
**Example:**
// Please note that the print() statements are for display purposes only
// This example ran in 2007
$timestamp = time() - (60*60*24*7*31*3); // timestamp of 651 days ago
$timestamp2 = time() - (60*60*24*7*50); // timestamp of 350 days ago
print Kohana::debug(date::timespan($timestamp));
print Kohana::debug(date::timespan($timestamp, time(), 'years,days'));
print Kohana::debug(date::timespan($timestamp, $timestamp2));
print 'minutes: '.Kohana::debug(date::timespan($timestamp, time(), 'minutes'));
It will result in HTML as:
Array
(
[years] => 1
[months] => 9
[weeks] => 2
[days] => 2
[hours] => 0
[minutes] => 0
[seconds] => 0
)
Array
(
[years] => 1
[days] => 286
)
Array
(
[years] => 0
[months] => 10
[weeks] => 0
[days] => 1
[hours] => 0
[minutes] => 0
[seconds] => 0
)
minutes:
937440
==== adjust() ====
'adjust' converts an hour integer into 24-hour format from a non-24-hour format.
The two arguments are:
* [int] hour in non-24-hour format
* [string] AM or PM
**Example:**
// Please note that the print() statements are for display only
print Kohana::debug(date::adjust(11, 'PM'));
It will result in HTML as:
23