diff options
author | Patrick Hurst <phurst@mit.edu> | 2014-02-17 19:21:46 -0500 |
---|---|---|
committer | Patrick Hurst <phurst@mit.edu> | 2014-02-17 19:21:46 -0500 |
commit | a3c561f3daaffc39245c1aabee46f8cc22f375b8 (patch) | |
tree | 03314bfe6d7f10b5f9e328b87a1cc3ff7988a057 /lib | |
parent | 52ac255e004d2fc29f0484754885d12043e98422 (diff) |
Add Datetime JavaScript support.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/js/urweb.js | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/lib/js/urweb.js b/lib/js/urweb.js index 6830945a..cb9a94af 100644 --- a/lib/js/urweb.js +++ b/lib/js/urweb.js @@ -217,13 +217,13 @@ var Dt = { var y = d.getFullYear(); var V = parseInt(Dt.formats.V(d), 10); var W = parseInt(Dt.formats.W(d), 10); - + if(W > V) { y++; } else if(W===0 && V>=52) { y--; } - + return y; }, H: ["getHours", "0"], @@ -262,7 +262,7 @@ var Dt = { { idow = Dt.formats.V(new Date("" + (d.getFullYear()-1) + "/12/31")); } - + return xPad(idow, 0); }, w: "getDay", @@ -345,7 +345,40 @@ function strftime(fmt, thisTime) var thisDate = new Date(); thisDate.setTime(Math.floor(thisTime / 1000)); return Dt.format(thisDate, fmt); -}; +}; + +function fromDatetime(year, month, date, hour, minute, second) { + console.log(arguments); + return (new Date(year, month, date, hour, minute, second)).getTime() * 1000; +}; + +function datetimeYear(t) { + return (new Date(t / 1000)).getYear() + 1900; +}; + +function datetimeMonth(t) { + return (new Date(t / 1000)).getMonth(); +}; + +function datetimeDay(t) { + return (new Date(t / 1000)).getDate(); +}; + +function datetimeHour(t) { + return (new Date(t / 1000)).getHours(); +}; + +function datetimeMinute(t) { + return (new Date(t / 1000)).getMinutes(); +}; + +function datetimeSecond(t) { + return (new Date(t / 1000)).getSeconds(); +}; + +function datetimeDayOfWeek(t) { + return (new Date(t / 1000)).getDay(); +}; // Error handling @@ -717,7 +750,7 @@ function runScripts(node) { if (node.tagName == "SCRIPT") { var savedScript = thisScript; thisScript = node; - + try { eval(thisScript.text); } catch (v) { @@ -1102,7 +1135,7 @@ function dynClass(html, s_class, s_style) { x.signal = s_class; x.sources = null; x.closures = htmlCls; - + x.recreate = function(v) { for (var ls = x.closures; ls != htmlCls; ls = ls.next) freeClosure(ls.data); @@ -1123,7 +1156,7 @@ function dynClass(html, s_class, s_style) { x.signal = s_style; x.sources = null; x.closures = htmlCls2; - + x.recreate = function(v) { for (var ls = x.closures; ls != htmlCls2; ls = ls.next) freeClosure(ls.data); |