//#region Namespace.register("U.UF.D"); //把2018/01/01 01:01:01转换为"2017-11-06 09:24:32" //把2018-01-01 01:01:01时间转换为数组格式[2018,01,01,01,01,01] //方便用户自己拼接不同格式的时间。 //参数一:时间格式 // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间) // 2、sqlserver 时间格式 /Date(1364812396843)/ // 3、mongodb 时间格式 2018/01/01 01:01:01 // 4、mysql 时间格式 2018-01-01 01:01:01 // 5、nodejs的json时间"2018-03-04T11:14:27.878Z" // 6,input type=datetime-local 时间格式 U.UF.D.formatDateToArray = function (date) { var _datearr = []; //javascript自带时间无需处理,并且不是string类型 if (typeof date == "string") { if (date.indexOf("Date") > -1) { //sqlserver 格式处理 date = new Date(parseInt(date.match(/[0-9]+/g)[0])); //正则会把2-4种时间格式转换为第一种格式. 2018/01/01 01:01:01 => 20180101010101 } else { date = new Date(date); } } return [ date.getFullYear(), date.getMonth() + 1, //月份加1 date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds() ]; } //把数据库的时间戳转换成可读时间 //参数一:时间格式 // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间) // 2、sqlserver 时间格式 /Date(1364812396843)/ // 3、mongodb 时间格式 2018/01/01 01:01:01 // 4、mysql 时间格式 2018-01-01 01:01:01 // 5、nodejs的json时间"2018-03-04T11:14:27.878Z" //获取时间戳对应的可读事件 Array返回数组事件 string 返回年月日处理 //得到年月日,格式为:2018-01-01 U.UF.D.getYearMonthDay = function (date) { if (date) { var _date = U.UF.D.formatDateToArray(date); //把时间格式化为数组 var _dates = _date.slice(0, 3).join("-"); //拼凑需要的格式 return _dates; } return ""; } //把数据库的时间戳转换成可读时间 //参数一:时间格式 // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间) // 2、sqlserver 时间格式 /Date(1364812396843)/ // 3、mongodb 时间格式 2018/01/01 01:01:01 // 4、mysql 时间格式 2018-01-01 01:01:01 // 5、nodejs的json时间"2018-03-04T11:14:27.878Z" //获取时间戳对应的可读事件 Array返回数组事件 string 返回年月日处理 //得到年月日,格式为:2018-01-01 U.UF.D.getHoursMinutesSecond = function (date) { var _date = U.UF.D.formatDateToArray(date, true); //把时间格式化为数组 var _dates = _date.slice(3, 6).join(":"); //拼凑需要的格式 return _dates; } //参数一:时间格式 // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间) // 2、sqlserver 时间格式 /Date(1364812396843)/ // 3、mongodb 时间格式 2018/01/01 01:01:01 // 4、mysql 时间格式 2018-01-01 01:01:01 // 5、nodejs的json时间"2018-03-04T11:14:27.878Z" U.UF.D.getFullTime = function (date) { var _date = U.UF.D.formatDateToArray(date, true); //把时间格式化为数组 var _dates = _date.slice(0, 3).join("-") + " " + _date.slice(3, 6).join(":"); //拼凑需要的格式 return _dates; } // //判断现在时间和从前时间的间隔,精确到分钟,小时,天数.超过3天则返回 月日时分 超过1年则返回 年月日时分 //参数一:时间格式 // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间) // 2、sqlserver 时间格式 /Date(1364812396843)/ // 3、mongodb 时间格式 2018/01/01 01:01:01 // 4、mysql 时间格式 2018-01-01 01:01:01 // 5、nodejs的json时间"2018-03-04T11:14:27.878Z" // 让学生重写 U.UF.D.getDateInterval = function (date) { var _return, //申明变量 _nowTime = U.UF.D.formatDateToArray(new Date(), "Array"), //申明变量_nowTime 并赋值 _pastTime = U.UF.D.formatDateToArray(date, "Array"); //申明变量_pastTime 并赋值 if (_nowTime[0] == _pastTime[0]) { //当年份为同一年时候 if (_nowTime[2] - _pastTime[2] < 3 && _nowTime[1] == _pastTime[1]) { //判断是否是三天内发的 if (_nowTime[2] == _pastTime[2]) { //判断是否是同一天的 if (_nowTime[3] == _pastTime[3]) { //判断是否是同一小时的 _return = _nowTime[4] - _pastTime[4] + '分钟前'; //是同一小时的 就给_return赋值 } else { _return = _nowTime[3] - _pastTime[3] + '小时前'; //不是同一小时的 就给_return赋值 } } else { _return = _nowTime[2] - _pastTime[2] + '天前'; //不是同一天时的 就给_return赋值 } } else { _return = _pastTime[1] + '-' + _pastTime[2] + ' ' + _pastTime[3] + ':' + _pastTime[4] + ''; //不是三天之内的 就给_return赋值 } } else { _return = _pastTime[0] + '-' + _pastTime[1] + '-' + _pastTime[2] + ' ' + _pastTime[3] + ':' + _pastTime[4] + ''; //不是同一小年的 就给_return赋值 } return _return; } //可读时间转化成标准时间类或者时间戳sqlserver 时间格式 /Date(1364812396843)/ //U.UF.D.toTimeStamp(UWE.birth_year + "-" + UWE.birth_month + "-" + UWE.birth_day, "-") //把javascript时间统一为sqlserver的时间,即时间戳。 //第二个参数不要.Time stamp U.UF.D.toTimeStamp = function (uod) { var _timestamp; if (U.UF.C.isString(uod)) { _timestamp = Date.parse(uod); //如果不需要 转换获取时间戳 } else if (Array.isArray(uod)) { //判断参数一是不是数组 _timestamp = Date.UTC(uod[0], uod[1] - 1 || 1, uod[2] || 1, uod[3] - 8 || 1, uod[4] || 1, uod[5] || 1); } //转换获取时间戳 else if (U.UF.D.isDate(uod) || !uod) { //判断参数一是不是 日期 类型 _timestamp = Date.parse(uod || new Date()); //转换获取时间戳 } return "/Date(" + _timestamp + ")/"; } //获取指定年月的天数,如果为2018年2月,则返回28天。 //参数一: // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间) // 2、sqlserver 时间格式 /Date(1364812396843)/ // 3、mongodb 时间格式 2018/01/01 01:01:01 // 4、mysql 时间格式 2018-01-01 01:01:01 // 5、nodejs的json时间"2018-03-04T11:14:27.878Z" U.UF.D.getDayOfMonth = function (date) { var _arrDate = U.UF.D.formatDateToArray(date); //把时间转换成数组形式 var _date = new Date(_arrDate[0], _arrDate[1], 0); //根据年月生成js时间格式 return _date.getDate(); //返回年月对应的日 } //比较两个时间的大小,2015-10-10 > 2014-10-10 ..文件夹或者文件从数据库取出来后是升序,现在前端做降序,则会调用冒泡排序。这里是冒泡排序比较时间 //参数一:时间 //参数二:时间 //返回字符串,"true"或者"false",如果时间一大于时间二,则为true,否则为false.相等返回euqal //SizeComparison U.UF.D.sizeComparison = function (date, date1) { var _date = U.UF.D.formatDateToArray(date), //把时间处理成数组 并赋值 _date1 = U.UF.D.formatDateToArray(date1); for (var _i = 0; _i < _date.length; _i++) { //循环时间 if (_date[_i] > _date1[_i]) return true; //判断数组中每一个元素的大小 if (_date1[_i] > _date[_i]) return false; //date 大就返回true date1 大就返回 false } return 'equal'; //如果一模一样 返回'equal' } //Lowercase to uppercase //小写时间转大写时间 U.UF.D.lowerToUpper = function (date) { var _i, _j, _dateArr = "", _dateWord = "", _word = [["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"], ["", "十", "百", "千", "万", "亿", "兆"], ["年", "月", "日", "点", "分", "秒"]]; !date ? date = new Date() : ''; //默认为当前时间 date = U.UF.D.formatDateToArray(date); //把时间转换成数组 for (_i = 0; _i < date.length; _i++) { //遍历数组 _dateArr = String(date[_i]); //转换为字符串 if (_i == 1) { //当处理到年时 for (_j = 0; _j < _dateArr.length; _j++) { //遍历字符串 _dateWord += _word[0][_dateArr[_j]]; //循环按照顺序大写 } //写进_dateWord } else { //当处理其他时候 if (Number(_dateArr) > 10) { //判断时间是否大于十 _dateWord += _word[0][_dateArr[0]] + _word[0][10] + (_dateArr[1] == '0' ? '' : _word[0][_dateArr[1]]); //大于十就在两个之间插个大写十 } else { _dateWord += _word[0][_dateArr[0]]; //就变大写 } } _dateWord += _word[2][_i]; //加上单位('年')之类 } return _dateWord; } //#endregion /** * 判断是否为时间 * * @param {Date} 时间对象值 * @return {boolean} 是否为Date */ U.UF.D.isDate = function (date) { return U.UF.C.isObject(date) && U.UF.C.objectToString(date) == "[object Date]"; } // U.UF.D.datetimeLocal = function (date) { return date; }