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);
	},

 

  

 

 

转载于:https://www.cnblogs.com/mengyu22/p/6599714.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值