/** * yyyy-MM-dd hh:mm:ss * yyyy-MM-dd * yyyy/MM/dd * MM/dd/yyyy */ Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //day "h+": this.getHours(), //hour "m+": this.getMinutes(), //minute "s+": this.getSeconds(), //second "q+": Math.floor((this.getMonth() + 3) / 3), //quarter S: this.getMilliseconds(), //millisecond } if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)) for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)) return format } /** * 将字符串转换为Date * @param str yyyyMMdd格式的字符串 * @returns {Date} */ function string8ToDate(str) { if (str && str.length == 8) { var year = str.substring(0, 4) var month = str.substring(4, 6) var day = str.substring(6, 8) return new Date(year, month - 1, day) } return new Date() } /** * 将字符串转换为Date * @param str yyyy-MM-dd格式的字符串 * @returns {Date} */ function string10ToDate(str) { if (str && str.length == 10) { var arr = str.split("-") return new Date(arr[0], arr[1] - 1, arr[2]) } return new Date() } /** * 将字符串转换为Date * @param str yyyyMMddHHmmss格式的字符串 * @returns {Date} */ function string14ToDate(str) { if (str && str.length == 8) { var year = str.substring(0, 4) var month = str.substring(4, 6) var day = str.substring(6, 8) var hour = str.substring(8, 10) var min = str.substr(10, 12) var sec = str.substr(12, 14) return new Date(year, month - 1, day, hour, min, sec) } return new Date() } /** * 将Date转换为字符串 * @param date * @returns {String} */ function dateToString8(date) { return date.format("yyyyMMdd") } /** * 将Date转换为字符串 * @param date * @returns {String} */ function dateToString14(date) { return date.format("yyyyMMddhhmmss") } /** * 将Date转换为字符串 * @param date * @param pattern * @returns */ function dateToString(date, pattern) { return date.format(pattern) } /** * 增加几天后的日期 * @param oldDate * @param days * @returns {Date} */ function addDaysToDate(oldDate, days) { return new Date(oldDate.getTime() + days * 24 * 60 * 60 * 1000) } function initMonth(id, callback) { $("#" + id).combobox({ valueField: "value", textField: "text", width: 40, panelHeight: 256, editable: false, data: [ { text: "1", value: "01" }, { text: "2", value: "02" }, { text: "3", value: "03" }, { text: "4", value: "04" }, { text: "5", value: "05" }, { text: "6", value: "06" }, { text: "7", value: "07" }, { text: "8", value: "08" }, { text: "9", value: "09" }, { text: "10", value: "10" }, { text: "11", value: "11" }, { text: "12", value: "12" }, ], onLoadSuccess: function () { var month = new Date().getMonth() + 1 $("#" + id).combobox("setValue", padNum(month, 2)) if (callback) { callback() } }, }) } function initYear(id, callback) { var year = new Date().getFullYear() var dataArr = new Array(12) for (var i = 12; i--; ) { dataArr[i] = { text: year--, value: year + 1 } } $("#" + id).combobox({ valueField: "value", textField: "text", width: 60, panelHeight: 256, editable: false, data: dataArr, onLoadSuccess: function () { $("#" + id).combobox("setValue", year + 12) if (callback) { callback() } }, }) } function initYear1(id, url, callback) { $("#" + id).combobox({ url: url, valueField: "value", textField: "text", onLoadSuccess: function () { if (callback) { callback() } }, }) } function padNum(num, n) { var len = num.toString().length while (len < n) { num = "0" + num len++ } return num } /** * 获取某月天数 * @param int year * @param int month * @returns */ function getMonthNum(year, month) { return new Date(year, month, 0).getDate() } var dateTools = { initMonthWithAll: function (id) { $("#" + id).combobox({ valueField: "value", textField: "text", width: 40, panelHeight: 265, editable: false, data: [ { text: "--", value: "-1", selected: true }, { text: "1", value: "01" }, { text: "2", value: "02" }, { text: "3", value: "03" }, { text: "4", value: "04" }, { text: "5", value: "05" }, { text: "6", value: "06" }, { text: "7", value: "07" }, { text: "8", value: "08" }, { text: "9", value: "09" }, { text: "10", value: "10" }, { text: "11", value: "11" }, { text: "12", value: "12" }, ], onLoadSuccess: function () {}, }) }, initYearWithAll: function (id) { var year = new Date().getFullYear() var dataArr = new Array(11) dataArr[0] = { text: "--", value: "-1", selected: true } for (var i = 11; i--; ) { if (i > 0) dataArr[i] = { text: year--, value: year + 1 } } $("#" + id).combobox({ valueField: "value", textField: "text", width: 60, panelHeight: 225, editable: false, data: dataArr, onLoadSuccess: function () {}, }) }, }