bgareth Posted November 22, 2012 Author Share Posted November 22, 2012 Sen, thanks, hopefully me disecting your code didn't offend you? I'm a newbie so It just helped to be able to read it to myself in English using your explanation :-) Thanks again, will re-read :-) Quote Link to comment Share on other sites More sharing options...
bgareth Posted November 24, 2012 Author Share Posted November 24, 2012 (edited) Barand, how am I doing, I've probably got this totally wrong: [code] <?php function EnglishHols($year) { $englishHolidays = array(); $t = mktime(0,0,0,1,1,$year); $d = date('Y-m-d', $t); $englishHolidays[$d] = 'New Year\'s Day'; /* Ben's Note - Get Unix timestamp (number of seconds since 1970) for 1 January of the current year and then append the $year variable to it (defined later) to the $t variable) then find the date and assign this to $d variable appended by the $t variable. The last line I don't get, I don't know what square brackets do..*/ $t = easter_date($year); $d = date('Y-m-d', strtotime('-2 days', $t)); $englishHolidays[$d] = 'Good Friday'; $d = date('Y-m-d', $t); $englishHolidays[$d] = 'Easter Sunday'; $d = date('Y-m-d', strtotime('+1 days', $t)); $englishHolidays[$d] = 'Easter Monday'; /* Ben's Note - Reassign $t variable to now carry easter_date function and append the year variable (yet to be assigned). Reassign $d variable to contain date function and then convert it to unix timestamp as defined above but this time taking a normal date to do it (so different function name.) Take two days off the unix timestamp and append the $t variable to the end. Now assign the variable $englishHolidays to contain unix timestamp calculated in $d variable (why specified i.e. $englishHolidays[$d]?) and assign that to the text 'Good Friday'. Reassign $d variable again to contain date function converted to unix timestamp and add 1 day to the timestamp returned. Append the $t variable to the end (is $t variable inherited from above or from below?) Reassign variable $englishHolidays to contain newly assigned $d variable and add the string 'Easter Sunday'. (This does not have any days added or subtracted and doesn't seem to refer to the function easter_date? How does this bit work? Reassign $d variable yet again and convert it to unix timestamp adding 1 day and append $t variable to the end. Reassign variable $englishHolidays to contain $d variable and append the string 'Easter Monday'.*/ Please give me some feedback :-) Kind Regards, BG. Edited November 24, 2012 by bgareth Quote Link to comment Share on other sites More sharing options...
Barand Posted November 24, 2012 Share Posted November 24, 2012 function EnglishHols($year) { $englishHolidays = array(); $t = mktime(0,0,0,1,1,$year); $d = date('Y-m-d', $t); $englishHolidays[$d] = 'New Year\'s Day'; /* Barand's note Create a unix timestamp for 1 Jan of the required year and store in $t. Create a date string in the format '2012-01-01' from $t and store it in $d Add to the array $englishHolidays with a key of $d and value = holiday description */ $t = easter_date($year); $d = date('Y-m-d', strtotime('-2 days', $t)); $englishHolidays[$d] = 'Good Friday'; $d = date('Y-m-d', $t); $englishHolidays[$d] = 'Easter Sunday'; $d = date('Y-m-d', strtotime('+1 days', $t)); $englishHolidays[$d] = 'Easter Monday'; /* Barand's note PHP easter_date returns a unix timestamp for easter Sunday in the required year. Store in $t. Create date string in 'yyyy-mm-dd' format for date 2 days earlier than $t (Easter Sunday) and store in $d Add this to the $englishHolidays array with date $d as the key and description of'Good Friday' Now get the date string, $d, for Easter Sunday Store in the $englishHolidays array with key = $d and value of 'Easter Sunday' Get date string (yyyy-mm-dd) for the day after $t and store in $d Store in the $englishHolidays array with key = $d and value of 'Easter Monday' */ $t = mktime(0,0,0,6,1,$year); $d = date ('Y-m-d', strtotime('last monday', $t)); // last monday in may $englishHolidays[$d] = 'Spring Bank Holiday'; /* Barand's note Get unix timestamp for 1 June of required year and store in $t Create date string for the last monday before this date (last monday in may) and store in $d Add to the holidays array */ } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.