Created
June 9, 2012 11:49
-
-
Save mattpass/2900665 to your computer and use it in GitHub Desktop.
Live server datetime golfing...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <span id="serverDT"></span> | |
| <script> | |
| var nDT = <?php echo time()*1000; ?>; | |
| setInterval(function(){ | |
| var s=(new Date(nDT+=1e3)+'').split(' '), | |
| d=s[2]*1, | |
| t=s[4].split(':'), | |
| p=t[0]>11?'pm':'am', | |
| e=d%20==1|d>30?'st':d%20==2?'nd':d%20==3?'rd':'th'; | |
| t[0]=--t[0]%12+1; | |
| document.getElementById('serverDT').innerHTML=[s[0],d+e,s[1],s[3],t.join(':')+p].join(' '); | |
| },1000); | |
| </script> |
Author
@maettig Mmmm OK, I'm sure someone told me doing that leaks? Oh well, learnt something as well then :)
Don't mind the delay (gives the appearance of actually linking in with the server) ;)
Am integrating this as a final solution into ICEcoder today. Many thanks!
I know you're aiming for a specific format but why not let the end user in control and use the locale Date format ?
<span id="serverDT"></span>
<script>
var nDT = <?php echo time() * 1000; ?>;
setInteval("document.getElementById('serverDT').textContent=new Date(nDT+=1e3).toLocaleString()",1000);
</script>
Author
@p01 Good point. I chose that format because it looks a little nicer than the regular Date output. In the bigger scheme of things I don't mind the extra 100 bytes or so on my IDE to have this format.
Author
@maettig Good spot, updated.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
No,
var a=1,b=2does not leak. To fix the delay you can put something like<?php echo strftime("..."); ?>in the<span>. Edit: I saved another two bytes in the code above.