Loading

REAL-TIME CLOCK

  1. <!doctype html public "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3.  
  4. <!--
  5. REAL-TIME CLOCK (c) 2009 por Tiago Madeira (http://tiagomadeira.com/)
  6. Idealizado por Santaum (http://santaum.org/)
  7.  
  8. All Hail Eris!
  9.  
  10. This program is free software: you can redistribute it and/or modify
  11. it under the terms of the GNU General Public License as published by
  12. the Free Software Foundation, either version 3 of the License, or
  13. (at your option) any later version.
  14.  
  15. This program is distributed in the hope that it will be useful,
  16. but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. GNU General Public License for more details.
  19.  
  20. You should have received a copy of the GNU General Public License
  21. along with this program.  If not, see <http://www.gnu.org/licenses/>.
  22. -->
  23.  
  24.  
  25.  
  26.  
  27.    
  28.     <script type="text/javascript">
  29.     function az(x) {
  30.         if (x < 10)
  31.             return "0"+x;
  32.         return x;
  33.     }
  34.  
  35.     function ly(Y) {
  36.         return (Y % 4 == 0 && !(Y % 100 == 0 && Y % 400 != 0));
  37.     }
  38.  
  39.     function dy(D, M, Y) {
  40.         var dm = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  41.         if (ly(Y)) {
  42.             dm[1] = 29;
  43.         }
  44.         var d = D;
  45.         for (var i = 0; i < M-1; i++) {
  46.             d+= dm[i]
  47.         }
  48.         return d;
  49.     }
  50.  
  51.     function go() {
  52.         var iddate = document.getElementById("ddate");
  53.         var idtime = document.getElementById("dtime");
  54.         var date = new Date();
  55.  
  56.         var D = date.getDate();
  57.         var M = date.getMonth()+1;
  58.         var Y = date.getFullYear();
  59.         var d = dy(D, M, Y);
  60.         var sttiby = 0;
  61.         if (ly(Y)) {
  62.             if (d == 60) {
  63.                 sttiby = 1;
  64.             } else if (d > 60) {
  65.                 d--;
  66.             }
  67.         }
  68.         M = Math.floor(d/73);
  69.         D = d % 73;
  70.         if (D == 0) {
  71.             M--;
  72.             D = 73;
  73.         }
  74.         switch (M) {
  75.             case 0:
  76.                 M = "Caos";
  77.                 break;
  78.             case 1:
  79.                 M = "DiscÃ&#179;rdia";
  80.                 break;
  81.             case 2:
  82.                 M = "ConfusÃ&#163;o";
  83.                 break;
  84.             case 3:
  85.                 M = "Burocracia";
  86.                 break;
  87.             case 4:
  88.                 M = "Consequências";
  89.                 break;
  90.             default:
  91.                 M = "fnord";
  92.         }
  93.         Y+= 1166;
  94.         if (sttiby) {
  95.             iddate.innerHTML = "Dia de SÃ&#163;o Tiby, "+Y+" YOLD";
  96.         } else {
  97.             iddate.innerHTML = az(D)+" de "+M+" de "+Y+" YOLD";
  98.         }
  99.  
  100.         var h = date.getHours();
  101.         var m = date.getMinutes();
  102.         var s = date.getSeconds();
  103.         var e = h*3600+m*60+s;
  104.         var ds = Math.round(e*1000/864);
  105.         h = Math.floor(ds/10000);
  106.         ds%= 10000;
  107.         m = Math.floor(ds/100);
  108.         ds%= 100;
  109.         s = ds;
  110.         idtime.innerHTML = az(h)+":"+az(m)+":"+az(s);
  111.     }
  112.  
  113.     window.onload = function() {
  114.         go();
  115.         setInterval(go, 100);
  116.     }
  117.     </script>
  118.     <style type="text/css">
  119.         * {
  120.             margin:0;
  121.             padding:0;
  122.         }
  123.  
  124.         html {
  125.             width:100%;
  126.             height:100%;
  127.             position:relative;
  128.             background:#f1f1f1;
  129.             color:#326f0c;
  130.             font:14px "Luxi Sans", "Lucida Sans", "Trebuchet MS", "Bitstream Vera Sans", serif;
  131.         }
  132.  
  133.         #wrap {
  134.             position:absolute;
  135.             width:240px;
  136.             height:100px;
  137. /*          left:50%; */
  138. /*          top:50%; */
  139.             margin-top:5px;
  140.             text-align:center;
  141.         }
  142.  
  143.         #ddate {
  144.             text-transform:uppercase;
  145.         }
  146.  
  147.         #dtime {
  148.             font:40px "Bitstream Vera Sans Mono", "Courier New", monospace;
  149.         }
  150.  
  151.         #license {
  152.             position:absolute;
  153.             bottom:5px;
  154.             left:50%;
  155.             margin-left:-300px;
  156.             width:600px;
  157.             text-align:center;
  158.             font-size:0.8em;
  159.             line-height:1.4em;
  160.         }
  161.  
  162.         a {
  163.             color:#aaa;
  164.             text-decoration:underline;
  165.         }
  166.  
  167.         a:hover {
  168.             text-decoration:none;
  169.         }
  170.     </style>
  171.  
  172.  
  173.  
  174.     <div id="wrap">
  175.         <p id="ddate">Ative o JavaScript.</p>
  176.         <p id="dtime">00:00:00</p>
  177.     </div>
  178. <br /><br /><br /><br /><br />
  179.  
  180.  
  181. </!doctype>

Comments