// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors // MIT License. See license.txt wn.provide('wn.datetime'); var double_digit = function(d) { if(cint(d)<10) { return "0" + cint(d); } else { return d + ""; } } $.extend(wn.datetime, { validate: function(v) { if(!v) return; var time_part = ""; if(v.indexOf(" ")!=-1) { var tmp = v.split(" "); v = tmp[0]; time_part = " " + tmp[1]; } var parts = $.map(v.split('-'), function(part) { return cint(part) ? part : null; }); if(parts.length!=3) { return null; } var test_date = new Date(parts[0], parts[1]-1, parts[2]); if(test_date.getFullYear() !=parts[0] || (test_date.getMonth() + 1) != parts[1] || test_date.getDate() != parts[2]) return null; return v + time_part; }, now_datetime: function() { return wn.datetime.get_datetime_as_string(new Date()); }, now_time: function() { var d = new Date(); return [double_digit(d.getHours()), double_digit(d.getMinutes()), double_digit(d.getSeconds())].join(":") }, get_datetime_as_string: function(d) { if(!d) return null; return [d.getFullYear(), double_digit(d.getMonth()+1), double_digit(d.getDate())].join("-") + " " + [double_digit(d.getHours()), double_digit(d.getMinutes()), double_digit(d.getSeconds())].join(":"); } });