2 openerp.web.dates = function(openerp) {
5 * Converts a string to a Date javascript object using OpenERP's
6 * datetime string format (exemple: '2011-12-01 15:12:35').
8 * The timezone is assumed to be UTC (standard for OpenERP 6.1)
9 * and will be converted to the browser's timezone.
11 * @param {String} str A string representing a datetime.
14 openerp.web.str_to_datetime = function(str) {
18 var regex = /^(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)(?:\.\d+)?$/;
19 var res = regex.exec(str);
21 throw new Error("'" + str + "' is not a valid datetime");
23 var obj = Date.parse(res[1] + " GMT");
25 throw new Error("'" + str + "' is not a valid datetime");
31 * Converts a string to a Date javascript object using OpenERP's
32 * date string format (exemple: '2011-12-01').
34 * @param {String} str A string representing a date.
37 openerp.web.str_to_date = function(str) {
41 var regex = /^\d\d\d\d-\d\d-\d\d$/;
42 var res = regex.exec(str);
44 throw new Error("'" + str + "' is not a valid date");
46 var obj = Date.parse(str);
48 throw new Error("'" + str + "' is not a valid date");
54 * Converts a string to a Date javascript object using OpenERP's
55 * time string format (exemple: '15:12:35').
57 * @param {String} str A string representing a time.
60 openerp.web.str_to_time = function(str) {
64 var regex = /^(\d\d:\d\d:\d\d)(?:\.\d+)?$/;
65 var res = regex.exec(str);
67 throw new Error("'" + str + "' is not a valid time");
69 var obj = Date.parse(res[1]);
71 throw new Error("'" + str + "' is not a valid time");
77 * Left-pad provided arg 1 with zeroes until reaching size provided by second
80 * @param {Number|String} str value to pad
81 * @param {Number} size size to reach on the final padded value
82 * @returns {String} padded string
84 var zpad = function(str, size) {
86 return new Array(size - str.length + 1).join('0') + str;
90 * Converts a Date javascript object to a string using OpenERP's
91 * datetime string format (exemple: '2011-12-01 15:12:35').
93 * The timezone of the Date object is assumed to be the one of the
94 * browser and it will be converted to UTC (standard for OpenERP 6.1).
97 * @returns {String} A string representing a datetime.
99 openerp.web.datetime_to_str = function(obj) {
103 return zpad(obj.getUTCFullYear(),4) + "-" + zpad(obj.getUTCMonth() + 1,2) + "-"
104 + zpad(obj.getUTCDate(),2) + " " + zpad(obj.getUTCHours(),2) + ":"
105 + zpad(obj.getUTCMinutes(),2) + ":" + zpad(obj.getUTCSeconds(),2);
109 * Converts a Date javascript object to a string using OpenERP's
110 * date string format (exemple: '2011-12-01').
113 * @returns {String} A string representing a date.
115 openerp.web.date_to_str = function(obj) {
119 return zpad(obj.getFullYear(),4) + "-" + zpad(obj.getMonth() + 1,2) + "-"
120 + zpad(obj.getDate(),2);
124 * Converts a Date javascript object to a string using OpenERP's
125 * time string format (exemple: '15:12:35').
128 * @returns {String} A string representing a time.
130 openerp.web.time_to_str = function(obj) {
134 return zpad(obj.getHours(),2) + ":" + zpad(obj.getMinutes(),2) + ":"
135 + zpad(obj.getSeconds(),2);