{"id":17571,"date":"2015-10-05T05:01:32","date_gmt":"2015-10-04T19:01:32","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=17571"},"modified":"2020-07-16T08:42:25","modified_gmt":"2020-07-15T22:42:25","slug":"htmlphp-timezone-feed-function-keys-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-function-keys-tutorial\/","title":{"rendered":"HTML\/PHP Timezone Feed Function Keys Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed Function Keys Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylightsavingtime_fn.jpg\" title=\"HTML\/PHP Timezone Feed Function Keys Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed Function Keys Tutorial<\/p><\/div>\n<p>During the time when desktop programming work was more prevalent than web application work, or even with web application work on non-mobile platforms, the use of the keyboard Function Keys was much more common, especially as they could be effectively like buttons in functionality, as you click the one physical &#8220;thing&#8221; to make &#8220;other things&#8221; happen.<\/p>\n<p>Even the &#8220;mobile&#8221; world cannot wipe out that idea of one &#8220;thing&#8217;s&#8221; action causing &#8220;other things&#8221; to happen &#8230; but it just means, to cater for mobile platforms, we&#8217;ll make the F1 through to F12 function keys be buttons in a web application.<\/p>\n<p>However, for non-mobile web application we can (add to the functionality the) use the <a target=_blank title='Javascript onkeydown event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onkeydown.asp'><i>onkeydown<\/i><\/a> (or  <a target=_blank title='Javascript onkeydown event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onkeyup.asp'><i>onkeyup<\/i><\/a>) event to check for Function Key use.<\/p>\n<p>Why worry with &#8220;old-fashioned&#8221; ideas?  As with many old concepts, they have been great up until now, so why shouldn&#8217;t they continue to offer something.  After all, haven&#8217;t you ever thought it would be good to do a piece of functionality, and not have to find that functionality by looking for the applicable button &#8230; well, on non-mobile platforms, a Function Key can do this with a single press of a &#8220;thing&#8221;.<\/p>\n<p>Today we add Function Key functionality to our recent &#8220;when&#8221; and &#8220;where&#8221; timezone web application, as a means for a user to store frequent user entered data sets and associate them with a particular Function Key, and later, use that same Function Key to recall that (perhaps, frequently used) data set of user entries &#8230; perhaps related to a Trip Planner pair of From\/To places.<\/p>\n<p>So, in our &#8220;food for thought&#8221; offering today &#8230; the <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='Click picture'>live run<\/a> has, behind it, the logic of the HTML and Javascript and (extended) CSS at <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html------GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> (changed from <a target=_blank title='HTML\/PHP Timezone Feed CSS Styling Tutorial' href='#hptfcst'>HTML\/PHP Timezone Feed CSS Styling Tutorial<\/a>, as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html------GETME\" title='daylight_saving_time.html'>this link<\/a>).<\/p>\n<p>Today, the PHP supervised code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php---GETME\" title='daylight_saving_time.php'>daylight_saving_time.php<\/a> (changed from some time back as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php---GETME\" title='daylight_saving_time.php'>this link<\/a>).<\/p>\n<hr>\n<p id='hptfcst'>Previous relevant <a target=_blank title='HTML\/PHP Timezone Feed CSS Styling Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-css-styling-tutorial\/'>HTML\/PHP Timezone Feed CSS Styling Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed CSS Styling Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylightsavingtime.png\" title=\"HTML\/PHP Timezone Feed CSS Styling Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed CSS Styling Tutorial<\/p><\/div>\n<p>Don&#8217;t know if you&#8217;ve noticed with our &#8220;when&#8221; and &#8220;where&#8221; timezone web application what scant attention we&#8217;ve been paying to CSS (styling) considerations &#8230; before today our small endeavours in this respect came down to &#8230;<\/li>\n<p><code><br \/>\n&lt;style&gt; td { text-align: center;  } table { border: 5px teal solid;  }  &lt;\/style&gt;<br \/>\n<\/code><\/p>\n<p> &#8230; well, today, we add a bit more styling sophistication to the web application&#8217;s initial look.  You may remember from yesterday&#8217;s <a target=_blank title='HTML\/PHP Timezone Feed Reveal Div Tutorial' href='#hptfrdt'>HTML\/PHP Timezone Feed Reveal Div Tutorial<\/a> work that the HTML div element id=result &#8230;<\/p>\n<blockquote><p>\ngets Javascript DOM rewritten (&#8220;revealed&#8221; or &#8220;overlayed&#8221;?) with some functionality based on this helpful link <a target=_blank title='useful link from w3schools ... thanks' href='http:\/\/www.w3schools.com\/js\/tryit.asp?filename=tryjs_timing_clock'>here<\/a> and <a target=_blank title='timezone useful link ... thanks' href='http:\/\/stackoverflow.com\/questions\/11124322\/get-date-time-for-a-specific-time-zone-using-javascript'>here<\/a>, to help flash across the HTML div id=result some world daylight saving time adjusted current times &#8230;\n<\/p><\/blockquote>\n<p> &#8230; well (well), today, we &#8220;bite the bullet&#8221; and admit that this clock (at least, the way it looked yesterday <img decoding=\"async\" src=\"data:image\/jpeg;charset=UTF-8;base64,\/9j\/4AAQSkZJRgABAQEASABIAAD\/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAA26ADAAQAAAABAAAAYgAAAAD\/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+\/+IHuElDQ19QUk9GSUxFAAEBAAAHqGFwcGwCIAAAbW50clJHQiBYWVogB9kAAgAZAAsAGgALYWNzcEFQUEwAAAAAYXBwbAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALZGVzYwAAAQgAAABvZHNjbQAAAXgAAAVsY3BydAAABuQAAAA4d3RwdAAABxwAAAAUclhZWgAABzAAAAAUZ1hZWgAAB0QAAAAUYlhZWgAAB1gAAAAUclRSQwAAB2wAAAAOY2hhZAAAB3wAAAAsYlRSQwAAB2wAAAAOZ1RSQwAAB2wAAAAOZGVzYwAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAFEdlbmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAHgAAAAxza1NLAAAAKAAAAXhockhSAAAAKAAAAaBjYUVTAAAAJAAAAchwdEJSAAAAJgAAAex1a1VBAAAAKgAAAhJmckZVAAAAKAAAAjx6aFRXAAAAFgAAAmRpdElUAAAAKAAAAnpuYk5PAAAAJgAAAqJrb0tSAAAAFgAAAshjc0NaAAAAIgAAAt5oZUlMAAAAHgAAAwBkZURFAAAALAAAAx5odUhVAAAAKAAAA0pzdlNFAAAAJgAAAqJ6aENOAAAAFgAAA3JqYUpQAAAAGgAAA4hyb1JPAAAAJAAAA6JlbEdSAAAAIgAAA8ZwdFBPAAAAJgAAA+hubE5MAAAAKAAABA5lc0VTAAAAJgAAA+h0aFRIAAAAJAAABDZ0clRSAAAAIgAABFpmaUZJAAAAKAAABHxwbFBMAAAALAAABKRydVJVAAAAIgAABNBhckVHAAAAJgAABPJlblVTAAAAJgAABRhkYURLAAAALgAABT4AVgFhAGUAbwBiAGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsAEcAZQBuAGUAcgBpAQ0AawBpACAAUgBHAEIAIABwAHIAbwBmAGkAbABQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6AByAGkAYwBQAGUAcgBmAGkAbAAgAFIARwBCACAARwBlAG4A6QByAGkAYwBvBBcEMAQzBDAEOwRMBD0EOAQ5ACAEPwRABD4ERAQwBDkEOwAgAFIARwBCAFAAcgBvAGYAaQBsACAAZwDpAG4A6QByAGkAcQB1AGUAIABSAFYAQpAadSgAIABSAEcAQgAggnJfaWPPj\/AAUAByAG8AZgBpAGwAbwAgAFIARwBCACAAZwBlAG4AZQByAGkAYwBvAEcAZQBuAGUAcgBpAHMAawAgAFIARwBCAC0AcAByAG8AZgBpAGzHfLwYACAAUgBHAEIAINUEuFzTDMd8AE8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbAXkBegF1QXkBdkF3AAgAFIARwBCACAF2wXcBdwF2QBBAGwAbABnAGUAbQBlAGkAbgBlAHMAIABSAEcAQgAtAFAAcgBvAGYAaQBsAMEAbAB0AGEAbADhAG4AbwBzACAAUgBHAEIAIABwAHIAbwBmAGkAbGZukBoAIABSAEcAQgAgY8+P8GWHTvZOAIIsACAAUgBHAEIAIDDXMO0w1TChMKQw6wBQAHIAbwBmAGkAbAAgAFIARwBCACAAZwBlAG4AZQByAGkAYwOTA7UDvQO5A7oDzAAgA8ADwQO\/A8YDrwO7ACAAUgBHAEIAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOkAcgBpAGMAbwBBAGwAZwBlAG0AZQBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBlAGwOQg4bDiMORA4fDiUOTAAgAFIARwBCACAOFw4xDkgOJw5EDhsARwBlAG4AZQBsACAAUgBHAEIAIABQAHIAbwBmAGkAbABpAFkAbABlAGkAbgBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBpAGwAaQBVAG4AaQB3AGUAcgBzAGEAbABuAHkAIABwAHIAbwBmAGkAbAAgAFIARwBCBB4EMQRJBDgEOQAgBD8EQAQ+BEQEOAQ7BEwAIABSAEcAQgZFBkQGQQAgBioGOQYxBkoGQQAgAFIARwBCACAGJwZEBjkGJwZFAEcAZQBuAGUAcgBpAGMAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGUARwBlAG4AZQByAGUAbAAgAFIARwBCAC0AYgBlAHMAawByAGkAdgBlAGwAcwBldGV4dAAAAABDb3B5cmlnaHQgMjAwNyBBcHBsZSBJbmMuLCBhbGwgcmlnaHRzIHJlc2VydmVkLgBYWVogAAAAAAAA81IAAQAAAAEWz1hZWiAAAAAAAAB0TQAAPe4AAAPQWFlaIAAAAAAAAFp1AACscwAAFzRYWVogAAAAAAAAKBoAABWfAAC4NmN1cnYAAAAAAAAAAQHNAABzZjMyAAAAAAABDEIAAAXe\/\/\/zJgAAB5IAAP2R\/\/\/7ov\/\/\/aMAAAPcAADAbP\/AABEIAGIA2wMBIgACEQEDEQH\/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv\/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8\/T19vf4+fr\/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv\/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8\/T19vf4+fr\/2wBDABYWFhYWFiUWFiU1JSUlNUg1NTU1SFpISEhISFptWlpaWlpabW1tbW1tbW2Dg4ODg4OYmJiYmKurq6urq6urq6v\/2wBDARocHCwoLEsoKEuzeWR5s7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7P\/3QAEAA7\/2gAMAwEAAhEDEQA\/AOuorK+3Tei\/r\/jR9um9F\/X\/ABrD28TX2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI1aKyvt03ov6\/wCNH26b0X9f8aPbxD2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI1aKyvt03ov6\/40fbpvRf1\/wAaPbxD2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI1aKyvt03ov6\/wCNH26b0X9f8aPbxD2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI1aKyvt03ov6\/40fbpvRf1\/wAaPbxD2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI1aKyvt03ov6\/wCNH26b0X9f8aPbxD2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI1aKyvt03ov6\/40fbpvRf1\/wAaPbxD2MjVorK+3Tei\/r\/jR9um9F\/X\/Gj28Q9jI\/\/QuUUUV5R6AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf\/0blFFFeUegFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH\/9K5RRRXlHoCMcCtLyrVI0aRclh6n\/GsqQ8Grl6zLBBtOMj+grpo2SbaMal7pIsiG1m+WPKtWewKMUbqDim20ri4QE5yQKvvtGo8jd8oOPeqlCM0nEmMnFtSKex8Z2nHrimjnpWypuS+SAFqsjql\/JH0DAfypPD7ajVbyM+p4xH5UhcHcOlPt4SLxlPSPn8+lSeZ5kV049\/0FKFLS7CdToiioZvugn6UpyDgjB960rXJtE8kgN1NQ3pfyVEi\/MD96iVC0b3Gqt3Yp4OM9qT2HU1LJMXhSL+7j+VQbsOp9CDWThaSRaldXNMw28CgSjcxqvcwrGFlj+436VPdW8lyVkgcD1Bpt2nl2IXO4qRz711TguV6HPGbutSic8cdelaBht4QBKNzHrVOacvHGv8AdpYHjkcmbOABgCppwipNMucm1dD7qFYirR\/dfoKsGG3gAEo3MaZqHMccifcBqqizXkgCEhR1PpVKMVJ6E80mlqT3MMcaLNF91jjFVeQMmrV86rEkEfODUM0xkjROPlFZVKau2i4TdkmT21q0pDvwn86ryhVuGQdA1TW9wWlihJz2\/IVWuT\/pUn1pzjFRVgjJuTuX9tkf4T+Z\/wAabdwwQxgoMMT61FYKXlMjn5UH61BcTGaU+gq58vJdIiPNzWuJRSClriOo\/9O5RRRXlHoEUnStSWBLmGIeYF2j69vrWawzR5zgYAropSik1IxqJ6NGlDbQWzeaz72HSoraZXvpJG4yMCqJlkYY6VGpKHcta+0imkjPkk7tm7sxJvkkBAORWbevsvRIp7A8flUBnc9BUbkyHc1OdRW0CEHfU3J5o0gaVcbmABrPtWAsrjceSD\/KqrMzKEPQUgJVSo6Gk6qbGqbsa1ukb2yeWdrADOaW7cLaFGbcxx\/OspJHQYHIoZ2k4PSnKrHlEqb5iw0KJAkobLNjIqu1OySAp6CkIrmk1e8TeN7amu0ccgDRMFHcVVv5EWFYEOeeTVMSuox1qNiznLV0zqxcdDCNN31LMkKRJG4bcWxkVcmt1nxJA4j4wRWazFgAe1KJXUY61MZQTaHKMrF+62CBLVWySwBNXNsaxCKJwoFYDOzMGPbmn+fJ6frVqpG7ZLhK1ixdW4jHmeYH5xgD\/wCvSSwpHGjq2S3UelQM7SDDClJZsA9qxm4u5rBSVh9tgXUZPAyf5UlyQbmQj1pgyDuHakOSST3qOZctiuX3rl6FxFYO2RuJP+FUEHFOyduztSgUVJ3SSCEbNtjxRRRWJof\/1LlFFFeUegIaaRT6SmAzFGKfRRcBm2jFPoouAzFGKfRQAzFLinUUXATFGKWloAZijFOooAbijFOooAZto20+ii4DQKXFLS0ANxRinUUANxS0tFABRRRSA\/\/VuUUUV5R6AUUUUAFFFFABRRRTAKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH\/2Q==\" \/>) will never attract any user attention in those &#8220;early times&#8221; (and, believe me, you only have those &#8220;early times&#8221; as a time to attract attention), so why don&#8217;t we try to create a &#8220;digital clock&#8221; look to the opening random timezone clock (around the world) displays &#8230; the random stuff we like, and will keep.<\/p>\n<p>So a &#8220;digital clock&#8221; look may seem daunting &#8230; well, well (well).<\/p>\n<p>But the major lessons (we&#8217;d hope and anticipate you get from) today, as we explain a bit about how the &#8220;digital clock&#8221; was constructed, are:<\/p>\n<ol>\n<li>you don&#8217;t have to be the world&#8217;s best graphic designer and\/or photographer to do stuff on the web &#8230; CSS can be used &#8230; this is an extremely important lesson for people put off from trying their own web programming<\/li>\n<li>where CSS can achieve something that an HTML img element also can, please choose CSS for a couple of reasons &#8230;\n<ul>\n<li>it is going to make for a faster webpage to do it this way<\/li>\n<li>HTML img tag images, as great as they are, involve a file that needs loading, and involves the cache, and may cause SSL security issues, and may involve copyright issues<\/li>\n<\/ul>\n<\/li>\n<li>the landing page (of a web application) that does nothing to grab attention is more likely to cause a &#8220;bounce&#8221; &#8230; stands to reason &#8230; the Internet is full of so much information users think they have to do things quickly, quite often<\/li>\n<li>randomness can grab attention if it really leads to something else useful, but may annoy if just there to make it hard for the user (eg. wading through popup windows to get out of something, or audio playing straight away, or asking for something before presenting any information)<\/li>\n<li>even though &#8220;you don&#8217;t have to be the world&#8217;s best graphic designer and\/or photographer to do stuff on the web&#8221; you will get more attention with pixel perfect work (ie. a graphic designer will create a much more beautiful &#8220;digital clock&#8221;, but will it function any better?) &#8230; which is the way it should be &#8230; except that so many websites that waste time show pixel perfect work<\/li>\n<li>you should try things yourself in HTML and Javascript because &#8230;\n<ul>\n<li>there is no web hosting required &#8230; you can even point the web browser at a local file, at least on a laptop<\/li>\n<li>think you&#8217;ll be surprised how easy it is to get some result &#8230; and then it can hook you in &#8230; if that&#8217;s what makes you happy, that is?!<\/li>\n<p>&#8230; but if you need a bit of graphic designer knowledge (for what you have to do), and have none now, may we recommend <a target=_blank title='Gimp' href='http:\/\/gimp.org'>Gimp<\/a> as a starting point (and it may be your ending point &#8230; who knows?) to learn about &#8220;Photoshopping&#8221;\n<\/ul>\n<\/ol>\n<p>Okay, so what is the crux of the CSS that works a &#8220;digital clock&#8221; look?<\/p>\n<ul>\n<li>make lots of use of an HTML element&#8217;s class= teamed with CSS styling (the Javascript DOM parallel thought is with the HTML element&#8217;s id=)<\/li>\n<li>we see the major part of a &#8220;digital clock&#8221; in terms of its display, as being those numbers &#8230; doh! &#8230; but see, because of this, the power of defining 10 hardcoded CSS :after definitions &#8230; exemplified by &#8230;<br \/>\n<code><br \/>\n h1.a5:after {<br \/>\n  content: '5';<br \/>\n }<br \/>\n<\/code><br \/>\n(you might remember us last discussing with <a target=_blank title='CSS Before and After Content Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/css-before-and-after-content-primer-tutorial\/'>CSS Before and After Content Primer Tutorial<\/a>) &#8230; the use of which leads to the remarkable situation of the &#8220;digital clock&#8221; numbers consisting of HTML h1 elements in an HTML table (to horizontally align them) where these HTML h1 elements all have blank <i>innerHTML<\/i> properties &#8230; and yet they create quite a &#8220;stir&#8221; display wise &#8230; go figure &#8230; doesn&#8217;t seem right, but this is the power of that CSS :after (and :before) functionality &#8230; <i>please also note, that as we&#8217;ve mentioned previously with the benefits of external Javascript to internal Javascript, there are also benefits to external CSS over internal CSS, and that it is just for ease of keeping explanations into the one programming source code file that we use internal CSS and\/or Javascript so much<\/i><\/li>\n<\/ul>\n<p>Also, today, Javascript wise we add functionality to filter the randomness of the timezone (around the world) dynamic time displays, by now, allowing the user&#8217;s Timezone and Region dropdown choices (above the &#8220;digital clock&#8221;) affect which places can make it to the randomized list.  The power of this is that the user can now &#8230;<\/p>\n<ol>\n<li>consider a Timezone of interest, and see what cities\/towns in the world (that have a Time Zone ID named after them) are in that Timezone<\/li>\n<li>consider a Region of interest, and see what cities\/towns in the world are in that Region<\/li>\n<li>consider both a Timezone\/Region combination of interest<\/li>\n<\/ol>\n<p> &#8230; with the affect that if the user is interested in geography (a bit like the author) it may become irresistible for them to spend time at this initial &#8220;digital clock&#8221; phase, especially if we say that there is also some Javascript DOM additional functionality added so that if the user is fast enough (as it goes past pretty fast &#8230; except for Region &#8220;Arctic&#8221;) they can click on the &#8220;digital clock&#8221; when a place of interest is mentioned and it will use a Javascript window.open() method to open a popup window to show a Google image search webpage for that place.<\/p>\n<p>We think you have to see what we mean at a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='Click picture'>live run<\/a>, and you can peruse the HTML and Javascript and (extended) CSS at <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html-----GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html-----GETME\" title='daylight_saving_time.html'>this link<\/a>). Today we also have a proof of concept HTML and Javascript <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/digitalclock.html_GETME\" title='digitalclock.html'>digitalclock.html<\/a> (if you want to start from scratch) with a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/digitalclock.html\" title='digitalclock.html'>proof of concept live run<\/a>.<\/p>\n<hr>\n<p id='hptfrdt'>Previous relevant <a target=_blank title='HTML\/PHP Timezone Feed Reveal Div Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-reveal-div-tutorial\/'>HTML\/PHP Timezone Feed Reveal Div Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed Reveal Div Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylightsavingtime.gif\" title=\"HTML\/PHP Timezone Feed Reveal Div Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed Reveal Div Tutorial<\/p><\/div>\n<p>On the theme of <a target=_blank title='Reveal tutorials here' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/reveal'>&#8220;reveal&#8221;<\/a> or maybe you more think <a target=_blank title='Overlay tutorials here' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/overlay'>&#8220;overlay&#8221;<\/a>, or perhaps it should be &#8220;metamorphose&#8221;, we want to continue our &#8220;when&#8221; and &#8220;where&#8221; timezone web application with more Javascript DOM work that revolves around the handiness of the HTML <a target=_blank title='HTML div element information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_div.asp'>div<\/a> element, and its qualities as probably the simplest HTML element that can be like a &#8220;placeholder&#8221;.  What we mean by that, is that we see a &#8220;placeholder&#8221; as something that has a boring look to it initially quite often, but by that very boringness, it is useful, because it can be like the ever changing chameleon of the HTML element <i>rag-<\/i>tag (chortle, chortle) world.<\/p>\n<p>The HTML canvas element is like that for me with graphical elements, but the HTML div element can be absolutely hidden with no CSS intervention right from the start with a blank <i>innerHTML<\/i> property.  Not only that but you can revert to that &#8220;nothingness&#8221; by resetting the <i>innerHTML<\/i> property to blank, or make it some complex widget-type massive bit of functionality that not only makes toast for breakfast, but rings up later and asks you if <i>you&#8217;d loik a cuupa tea like<\/i> &#8230; in <i>that<\/i> accent, like.<\/p>\n<p>This is a bit why it confuses me about what we show today is in our categorization of &#8220;reveal&#8221; or &#8220;overlay&#8221; &#8230; guess it doesn&#8217;t matter &#8230; but you&#8217;ll see what we mean by trying a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\">live run<\/a>.<\/p>\n<p>The actual HTML development we are talking about has an id=result and at various times has three different &#8220;revealed&#8221; (or &#8220;overlayed&#8221;) guises &#8230;<\/p>\n<ol>\n<li>at the start in the raw HTML (before any onload event Javascript) the HTML div contains &#8230;<br \/>\n<code><br \/>\n&lt;div align='center' id='result' style='background-color:white;'&gt;<i><b>&lt;iframe onload=\" ifol=true; \" style=\"display:none;\" id=\"myiframe\" width=400 height=430 src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php?title=Airports&label=['Lat',&value='Lon','Name']&data=,[51.5072,-0.1275,~London~]\"&gt;&lt;\/iframe&gt;<\/b><\/i>&lt;\/div&gt;<br \/>\n<\/code><br \/>\n&#8230; because this <i><b>innerHTML<\/b><\/i> &#8220;state of play&#8221; is remembered in a global variable for later reuse, and almost immediately gets Javascript DOM rewritten (&#8220;revealed&#8221; or &#8220;overlayed&#8221;?) with some functionality based on this helpful link <a target=_blank title='useful link from w3schools ... thanks' href='http:\/\/www.w3schools.com\/js\/tryit.asp?filename=tryjs_timing_clock'>here<\/a> and <a target=_blank title='timezone useful link ... thanks' href='http:\/\/stackoverflow.com\/questions\/11124322\/get-date-time-for-a-specific-time-zone-using-javascript'>here<\/a>, to help flash across the HTML div id=result some world daylight saving time adjusted current times &#8230;\n<\/li>\n<li>then when a user selects a &#8220;From&#8221; place (and\/or even a &#8220;To&#8221; place) in the Trip Planner part, that saved global variable from step one is brought back into play to help build up the URL to send to an HTML iframe element constructed into our HTML div id=result element, containing a Google Map of nearby airports to that latitude and longitude reading &#8230;<\/li>\n<li>then when a user hits the orange &#8220;Show Timezone Results Below&#8221; button the HTML div id=result element&#8217;s <i>innerHTML<\/i> is completely rewritten to show an HTML table element perhaps also containing an HTML iframe element, as well<\/li>\n<\/ol>\n<p>Basically we are again pointing out the joys of the Javascript DOM use of an HTML element&#8217;s <i>innerHTML<\/i> property, which we also raved about, a lot, with the series of tutorials ending up at <a target=_blank title='PHP\/HTML with External Javascript Slotting In Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/phphtml-with-external-javascript-slotting-in-tutorial\/'>PHP\/HTML with External Javascript Slotting In Tutorial<\/a>.<\/p>\n<p>A new source of data is used in that &#8220;nearby airports&#8221; functionality, and we&#8217;d like to thank Arash Partow for his <a target=_blank title='Global Airport Database' href='http:\/\/www.partow.net\/miscellaneous\/airportdatabase\/'>Global Airport Database<\/a> project we talked about at <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/html5-canvas-map-clickaround-onresize-tutorial\/' title='HTML5 Canvas Map Clickaround Onresize Tutorial'>HTML5 Canvas Map Clickaround Onresize Tutorial<\/a> earlier on, and whose code we call upon in more HTML iframe elements created in our web application today.<\/p>\n<p>So with today&#8217;s Javascript and HTML work (only), the source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html----GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html----GETME\" title='daylight_saving_time.html'>this link<\/a>).<\/p>\n<p>Please feel free, again, to try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='daylight_saving_time.html'>live run<\/a> to see what we mean.<\/p>\n<hr>\n<p id='hptfjat'>Previous relevant <a target=_blank title='HTML\/PHP Timezone Feed Javascript Autocompletion Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-javascript-autocompletion-tutorial\/'>HTML\/PHP Timezone Feed Javascript Autocompletion Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed Javascript Autocompletion Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylightsavingtime.jpg\" title=\"HTML\/PHP Timezone Feed Javascript Autocompletion Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed Javascript Autocompletion Tutorial<\/p><\/div>\n<p>We&#8217;ve got to the point today with our &#8220;when&#8221; and &#8220;where&#8221; timezone web application that further work needed is on the client sode, and today&#8217;s work (adding on to yesterday&#8217;s <a target=_blank title='HTML\/PHP Timezone Feed Trip Planner Tutorial' href='#hpttpt'>HTML\/PHP Timezone Feed Trip Planner Tutorial<\/a> is shown below) is done in Javascript, involving &#8230;<\/p>\n<ul>\n<li>Javascript code to calculate a Great Circle Distance between our Trip Planner endpoints and placing information into an HTML sub element<\/li>\n<li>Javascript code working off the &#8220;Client Pre-emptive Iframe&#8221; data to facilitate autocompletion functionality regarding the &#8220;From&#8221; and &#8220;To&#8221; HTML input type=text elements<\/li>\n<\/ul>\n<p>You can certainly use jQuery and or Ajax techniques to do autocompletion, but today is basically homegrown Javascript, because with the data being there, it just felt like the right thing to do.  The events and ideas that feature for us involving autocompletion coding were &#8230;<\/p>\n<ul>\n<li>making sure the HTML input type=text elements have the property <i>autocompletion=&#8221;off&#8221;<\/i> to say that any autocompletion the web browser might do will be overridden, because we intend to do our own homegrown autocompletion &#8230; thanks very much, anyway, like<\/li>\n<li>getting the sequence of HTML input type=text element focus is in order and to attract the user to the idea that the functionality may be in play<\/li>\n<li>making the HTML input type=text element event <i>onkeyup<\/i> do the bulk of the logic, as the HTML input type=text element value is what is shown, at this keyboard event<\/li>\n<li>placing the autocompletion mechanism for &#8220;From&#8221; and &#8220;To&#8221; to be two HTML div elements, which are invisible initially, at which time their <i>innerHTML<\/i> properties are blank, and which dynamically contain HTML select (dropdown) elements populated on the fly and made to disappear by clearing the HTML div element&#8217;s <i>innerHTML<\/i>, at appropriate times controlled by user interaction<\/li>\n<\/ul>\n<p>The involvement of Wikipedia, with this really <a target=_blank title='Wikipedia Timezone page ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/List_of_tz_database_time_zones'>useful link<\/a> made all this possible with its &#8230;<\/p>\n<ol>\n<li>Latitude and Longitude geographical information<\/li>\n<li>Time Zone ID information, from which place names can be derived<\/li>\n<\/ol>\n<p> &#8230; for the functionality above, respectively.<\/p>\n<p>So with today&#8217;s Javascript and HTML work, the source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html---GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html---GETME\" title='daylight_saving_time.html'>this link<\/a>).<\/p>\n<p>Please feel free to try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='daylight_saving_time.html'>live run<\/a> to see what we mean.<\/p>\n<hr>\n<p id='hpttpt'>Previous relevant <a target=_blank title='HTML\/PHP Timezone Feed Trip Planner Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp--timezone-feed-trip-planner-tutorial\/'>HTML\/PHP Timezone Feed Trip Planner Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed Trip Planner Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.png\" title=\"HTML\/PHP Timezone Feed Trip Planner Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed Trip Planner Tutorial<\/p><\/div>\n<p>We&#8217;ve continued on our journey into the &#8220;when&#8221; and &#8220;where&#8221; of our new timezone web application today by focussing on its abilities to help as a trip planner, as we do at WordPress 4.1.1 with <a target=_blank title='HTML\/PHP Timezone Feed Trip Planner Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-trip-planner-tutorial\/'>HTML\/PHP Timezone Feed Trip Planner Tutorial<\/a>.  We are surrounded by Google &#8220;smarts&#8221; today, and we thank them for &#8230;<\/p>\n<ul>\n<li><a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> functionality<\/li>\n<li><a target=_blank href='http:\/\/maps.google.com' title='Google Maps'>Google Maps<\/a> &#8230; in particular, the &#8220;Get Directions&#8221; brilliance<\/li>\n<\/ul>\n<p> &#8230; because we figure, since yesterday, with <a target=_blank title='HTML\/PHP Timezone Feed Google Chart Map Tutorial' href='#hptfgcmt'>HTML\/PHP Timezone Feed Google Chart Map Tutorial<\/a> as shown below, the involvement of Wikipedia, with this really <a target=_blank title='Wikipedia Timezone page ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/List_of_tz_database_time_zones'>useful link<\/a> under the auspices of our PHP, then lead to the HTML of this web application benefitting from this intelligence, so that, now, this HTML can &#8220;join the club&#8221; of those we&#8217;ve lately been adding to the list of web applications to use &#8220;Client Pre-emptive Iframe&#8221; techniques &#8230; perhaps you were here earlier this week for the last tutorial on this topic called <a target=_blank title='Client Pre-emptive Iframe Crontab Curl Daily Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/client-pre-emptive-iframe-crontab-curl-daily-tutorial\/'>Client Pre-emptive Iframe Crontab Curl Daily Tutorial<\/a>.  This comes about because the wbits.html interim file we derive from the Wikipedia data sits on the server, and can now be accessed by today&#8217;s web application HTML via an HTML <a target=_blank title='HTML iframe tag information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_iframe.asp'>iframe<\/a> element whose workings are not affected by any cross-domain issues.  If you are wondering why?  It is because this data has all we need for a Trip Planner, as it has &#8230;<\/p>\n<ol>\n<li>Time Zone ID information, from which place names can be derived<\/li>\n<li>Latitude and Longitude geographical information<\/li>\n<li><a target=_blank title='?' href='https:\/\/www.youtube.com\/watch?v=EBiJAxgZFFI'>Personality<\/a> &#8230; but we digress<\/li>\n<\/ol>\n<p>So we add the concept of a &#8220;To&#8221; place name to the mix, use all the information &#8220;smarts&#8221;, and the <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> onclick event functionality shown at <a target=_blank title='Google Chart Map Chart' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/phpjavascripthtml-google-chart-map-onclick-tutorial\/'>PHP\/Javascript\/HTML Google Chart Map Onclick Tutorial<\/a>, and voila &#8230; a Trip Planner of sorts &#8230; no money though &#8230; awwwwwwww!!! Never mind.<\/p>\n<p>All those map lovers and appreciators of <i>&#8220;Where&#8221;<\/i> meeting <i>&#8220;When&#8221;<\/i> may find it interesting to again try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='Click picture'>live run<\/a>, and or peruse the code as per &#8230;<\/p>\n<ul>\n<li>HTML\/Javascript source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html--GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html--GETME\" title='daylight_saving_time.html'>this link<\/a>) &#8230; supervising &#8230; but needing &#8230;<\/li>\n<li>PHP source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php--GETME\" title='daylight_saving_time.php'>daylight_saving_time.php<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php--GETME\" title='daylight_saving_time.php'>this link<\/a>) &#8230; because the recent <i>&#8220;Client Pre-emptive Iframe&#8221;<\/i> thoughts don&#8217;t work so well for the cross-domain requirements that GoMashup&#8217;s RSS feed and Wikipedia data presents to us<\/li>\n<\/ul>\n<p>We hope you again enjoy thinking about time and space and maps and trips and holidays maybe &#8230; and maybe some things that we can share in common.<\/p>\n<hr>\n<p id='hptfgcmt'>Previous relevant <a target=_blank title='HTML\/PHP Timezone Feed Google Chart Map Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp--timezone-feed-google-chart-map-tutorial\/'>HTML\/PHP Timezone Feed Google Chart Map Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed Google Chart Map Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.gif\" title=\"HTML\/PHP Timezone Feed Google Chart Map Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed Google Chart Map Tutorial<\/p><\/div>\n<p>Yesterday we started on our journey into the &#8220;when&#8221; and &#8220;where&#8221; of our new timezone web application when we presented <a target=_blank title='HTML\/PHP Timezone Feed Primer Tutorial' href='#hptfpt'>HTML\/PHP Timezone Feed Primer Tutorial<\/a> as shown below.  Today we delve into more sources of data to augment yesterday&#8217;s <a target=_blank title='Gomashup' href='http:\/\/www.gomashup.com'>GoMashup<\/a> (thanks) source.   And &#8220;why&#8221; is that?  Well, we want to further contextualize the &#8220;where&#8221; of the web application by offering to show a representative map of a locality within the relevant Timezone on a map of the Earth.  To do this, we can use the <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.'>Google Charts<\/a> <a target=_blank title='Google Chart Map Chart' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=4832'>Map Chart<\/a>, as we&#8217;ve discussed earlier.  That is the &#8220;what&#8221; (we use) about the scenario, but &#8220;how&#8221; about the &#8220;how&#8221;?   We need a data source that links Timezone names with geographical latitude and longitude information, which the GoMashup data does not contain.  Luckily, the wonderful Wikipedia came to the rescue with this really really <a target=_blank title='Wikipedia Timezone page ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/List_of_tz_database_time_zones'>useful link<\/a>, so yet again, thanks Wikipedia!<\/p>\n<p>The use of maps can help contextualize where we live and in any given Timezone of interest, you will find an east\/west commonality for Timezone places, with possibly a lot of variation in north\/south to places that have a common Timezone.  As you probably learnt in school geography, this can mean a vast difference in climate from the cold polar regions (of really high or really low latitudes) to the warm and humid equatorial regions near the equator at zero degrees latitude.<\/p>\n<p>But people of the same Timezone, may, for instance, share &#8230;<\/p>\n<ul>\n<li>pet cat feeding times<\/li>\n<li>pet dog walking times<\/li>\n<li>dinner meal times<\/li>\n<li>start work and end work times<\/li>\n<li>ceremony times<\/li>\n<\/ul>\n<p>We here in <a target=_blank title='Australia\/Sydney timezone' href='http:\/\/www.timezoneconverter.com\/cgi-bin\/zoneinfo?tz=Australia\/Sydney'>Sydney<\/a> (with our <a target=_blank title='Cats in Sydney' href='https:\/\/www.google.com\/search?q=%22cat+in+sydney%22&#038;biw=1280&#038;bih=659&#038;source=lnms&#038;tbm=isch&#038;sa=X&#038;ved=0CAYQ_AUoAWoVChMI4P-m2MGQyAIVIyymCh0SSgMp'>cats<\/a>) share &#8220;time&#8221; with people in <a target=_blank title='Vladivostok Google search' href='https:\/\/www.google.com\/search?q=vladivostok&#038;biw=1280&#038;bih=659&#038;source=lnms&#038;sa=X&#038;ved=0CAUQ_AUoAGoVChMI6_alzrGPyAIVgTKUCh0qVgoz&#038;dpr=1'>Vladivostok<\/a>, in Russia (with their <a target=_blank title='Cats in Vladivostok' href='https:\/\/www.google.com\/search?q=cat+in+vladivostok&#038;biw=1280&#038;bih=659&#038;source=lnms&#038;tbm=isch&#038;sa=X&#038;ved=0CAYQ_AUoAWoVChMIu7XOn7GPyAIViaGUCh0aHAuD'>cats<\/a>) for instance.  Am sure, though, that these cats are not sharing any fur coats?!<\/p>\n<p>Again, today&#8217;s work has that special treat of combining <i>&#8220;Where&#8221;<\/i> and <i>&#8220;When&#8221;<\/i> in its themes, and think you may find it interesting to again try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='Click picture'>live run<\/a>, and or peruse the code as per &#8230;<\/p>\n<ul>\n<li>HTML\/Javascript source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html-GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html-GETME\" title='daylight_saving_time.html'>this link<\/a>) &#8230; supervising &#8230; but needing &#8230;<\/li>\n<li>PHP source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php-GETME\" title='daylight_saving_time.php'>daylight_saving_time.php<\/a> (changed from yesterday as per <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php-GETME\" title='daylight_saving_time.php'>this link<\/a>) &#8230; because the recent <i>&#8220;Client Pre-emptive Iframe&#8221;<\/i> thoughts don&#8217;t work so well for the cross-domain requirements that GoMashup&#8217;s RSS feed and Wikipedia data presents to us<\/li>\n<\/ul>\n<p>We hope you again enjoy thinking about time and space and maps &#8230; and maybe some things that we all share in common.<\/p>\n<hr>\n<p id='hptfpt'>Previous relevant <a target=_blank title='HTML\/PHP Timezone Feed Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-primer-tutorial\/'>HTML\/PHP Timezone Feed Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"HTML\/PHP Timezone Feed Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.jpg\" title=\"HTML\/PHP Timezone Feed Primer Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">HTML\/PHP Timezone Feed Primer Tutorial<\/p><\/div>\n<p>Today we delve into timezone web applications using <a target=_blank title='RSS Feed information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/RSS'>RSS feed<\/a> data, in our case courtesy of <a target=_blank title='Gomashup' href='http:\/\/www.gomashup.com'>Gomashup<\/a> &#8230; thanks.<\/p>\n<p>Maybe you are good with timezones, as you make a lot of International phone calls, and get used to it, but there are a lot of exceptions to the geographical (ie. longitudinal position) logic for several reasons like &#8230;<\/p>\n<ul>\n<li>daylight saving<\/li>\n<li>political decisions (especially around the <a target=_blank title='International Date Line information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/International_Date_Line'>International Date Line<\/a> (180\u00b0E and 180\u00b0W) &#8230; ie. the opposite <a target=_blank title='Longitude information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Longitude'>longitude<\/a> to Greenwich (as of <a target=_blank title='Greenwich Mean Time information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Greenwich_Mean_Time'>Greenwich Mean Time<\/a>), which is at at 0\u00b0E and 0\u00b0W)<\/li>\n<\/ul>\n<p> &#8230; plus we all know that <i>&#8220;when you are having fun&#8221;<\/i> &#8230; well, you know what we mean?!<\/p>\n<p>So all those interruptions to the longitudinal way the time should be, in any given longitudinal place on Earth, needs to get a name, so the international convention gives a <i>Region\/PlaceIdentifier<\/i> type of <i>TimeZoneID<\/i>, and so, even though we offer a finder of your <i>TimeZoneID<\/i> from our web application today, don&#8217;t count on finding it that way, because the places used as <i>TimeZoneID<\/i> PlaceIdentifiers are sometimes quite obscure, or at least to those &#8220;not in the know&#8221; I guess &#8230; but my favourite so far has been <i>&#8220;America\/Indiana\/Tell_City&#8221;<\/i>, as I hadn&#8217;t heard of <a target=_blank title='Tell City, Indiana' href='https:\/\/www.google.com\/search?q=Tell+City&#038;ie=utf-8&#038;oe=utf-8'>Tell City<\/a> before doing this web application &#8230; glad to meet you in <i>code<\/i>, Tell City, Indiana, USA.<\/p>\n<p>Today&#8217;s work has that special treat of combining <i>&#8220;Where&#8221;<\/i> and <i>&#8220;When&#8221;<\/i> in its themes, and think you may find it interesting to try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html\" title='Click picture'>live run<\/a>, and or peruse the code as per &#8230;<\/p>\n<ul>\n<li>HTML\/Javascript source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.html_GETME\" title='daylight_saving_time.html'>daylight_saving_time.html<\/a> &#8230; supervising &#8230; but needing &#8230;<\/li>\n<li>PHP source code <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/daylight_saving_time.php_GETME\" title='daylight_saving_time.php'>daylight_saving_time.php<\/a> &#8230; because the recent <i>&#8220;Client Pre-emptive Iframe&#8221;<\/i> thoughts don&#8217;t work so well for the cross-domain requirements that GoMashup&#8217;s RSS feed and Wikipedia data source presents to us<\/li>\n<\/ul>\n<p>Thinking back on it, it stands to reason some aspects of <i>&#8220;Where&#8221;<\/i> are intertwined with <i>&#8220;When&#8221;<\/i> by where we live &#8230; <a target=_blank title='?' href='https:\/\/www.google.com\/search?q=springfield+timezone'>doh!<\/a><\/p>\n<p>Anyway, hope you enjoy thinking about time and space &#8230; and all that.  It is a topic of huge interest to those people out there trying to <a target=_blank title='Internationalization information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Internationalization_and_localization'>Internationalize<\/a> their websites.<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17339' onclick='var dv=document.getElementById(\"d17339\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=DOM\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17339' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17352' onclick='var dv=document.getElementById(\"d17352\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=geographicals\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17352' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17375' onclick='var dv=document.getElementById(\"d17375\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=google\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17375' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17401' onclick='var dv=document.getElementById(\"d17401\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=javascript\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17401' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17421' onclick='var dv=document.getElementById(\"d17421\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=csv\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17421' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17436' onclick='var dv=document.getElementById(\"d17436\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=css\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17436' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d17571' onclick='var dv=document.getElementById(\"d17571\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=keyboard\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17571' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>During the time when desktop programming work was more prevalent than web application work, or even with web application work on non-mobile platforms, the use of the keyboard Function Keys was much more common, especially as they could be effectively &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/htmlphp-timezone-feed-function-keys-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[1695,281,1698,342,354,1697,1696,412,1704,481,491,513,519,527,576,587,620,652,673,719,752,861,1705,894,932,997,1063,1076,1279,1693,1694,1312,1319,1321],"class_list":["post-17571","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-autocompletion","tag-css","tag-datauri","tag-div","tag-dom","tag-elearning-date","tag-event-driven-programming","tag-feed","tag-function-keys","tag-geographicals","tag-gimp","tag-google","tag-google-charts","tag-google-maps","tag-html","tag-iframe","tag-internationalization","tag-javascript","tag-keyboard","tag-longitude","tag-mathematics","tag-onclick","tag-onkeydown","tag-overlay","tag-php","tag-programming","tag-reveal","tag-rss-feed","tag-time","tag-timezone","tag-trip-planner","tag-trips-2","tag-tutorial","tag-tutorials"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/17571"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=17571"}],"version-history":[{"count":7,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/17571\/revisions"}],"predecessor-version":[{"id":49668,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/17571\/revisions\/49668"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=17571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=17571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=17571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}