JS中Date日期函数的使用
创建一个日期对象
new Date() 创建日期对象
getFullYear() 获取年份
getMonth() 获取月份 返回值是 0(一月) 到 11(十二月) 之间的一个整数
getDate() 获取日期(多少号)
getDay() 获取星期数 返回值是 0(周日) 到 6(周六) 之间的一个整数。
getHours() 获取小时 返回值是 0 (午夜) 到 23 (晚上 11 点)之间的一个整数
getMinutes() 获取分钟数 返回值是 0 ~ 59 之间的一个整数
getSeconds() 获取秒数 返回值是 0 ~ 59 之间的一个整数
getTime() 返回距 1970 年 1 月 1 日之间的毫秒数G MT 时间
参数形式有以下5种:
1)new Date("month dd,yyyy hh:mm:ss");
2)new Date("month dd,yyyy");
3)new Date(yyyy,mth,dd,hh,mm,ss);
4)new Date(yyyy,mth,dd);
5)new Date(ms);
时间大小比较
2017-03-23 06:00 与 2017-03-24 07:00 得到毫秒数进行比较
var estimateStartTime="2017-03-23 06:00"; var estimateEndTime="2017-03-24 07:00"; var start = estimateStartTime.replace(new RegExp("-", "gm"), "/"); var end = estimateEndTime.replace(new RegExp("-", "gm"), "/"); var startTime = (new Date(start)).getTime(); //得到毫秒数 var endTime = (new Date(end)).getTime(); //得到毫秒数
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
创建 RegExp 对象的语法:new RegExp(pattern, attributes);
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符 串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
抛出
SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,抛出该异常。
TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。
日期格式化 3月23日 周四 10:00~19:00
parseJobDate: function(startDateTime) { var startDate = new Date(startDateTime); var month = startDate.getMonth() + 1; var weekString = { "1": "一", "2": "二", "3": "三", "4": "四", "5": "五", "6": "六", "7": "日", "0": "日" }; var week = weekString["" + startDate.getDay()]; return "" + month + "月" + startDate.getDate() + "日" + " " + "周" + week + "" }, parseJobPeroid: function(jobPeroid) { var startDate = new Date(jobPeroid.estimateStartTime); return this.parseJobDate(startDate) + " " + this.parseJobTime(startDate, jobPeroid.estimateEndTime); }, parseJobTime: function(startDateTime, endDateTime) { var startDate = new Date(startDateTime); var endDate = new Date(endDateTime); var startHour = startDate.getHours(); startHour = startHour >= 10 ? startHour : ("0" + startHour); var startMinute = startDate.getMinutes(); startMinute = startMinute >= 10 ? startMinute : ("0" + startMinute); var endHour = endDate.getHours(); endHour = endHour >= 10 ? endHour : ("0" + endHour); var endMinute = endDate.getMinutes(); endMinute = endMinute >= 10 ? endMinute : ("0" + endMinute); return(startHour + ":" + startMinute) + "~" + (endHour + ":" + endMinute); },