发新帖

[web前端] JS中Date日期函数中的参数使用介绍,时间格式化

零下一度 2020-2-25 1113

view plainnew Date("month dd,yyyy hh:mm:ss");

new Date("month dd,yyyy");

new Date(yyyy,mth,dd,hh,mm,ss);

new Date(yyyy,mth,dd);

new Date(ms);

 

month:用英文表示月份名称,从January到December

mth:用整数表示月份,从0(1月)到11(12月)

Content

 

dd:表示一个月中的第几天,从1到31

yyyy:四位数表示的年份

hh:小时数,从0(午夜)到23(晚11点)

mm:分钟数,从0到59的整数

ss:秒数,从0到59的整数

ms:毫秒数,为大于等于0的整数,表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。



可以支持 new Date("yyyy/MM/dd"); 其中:MM是整数表示月份从0(1月)到11(12月),这样再利用正则表达式就很方便地能够转换字符串日期了

document.write("<br/>" + new Date("February 3,2009")); 
document.write("<br/>" + new Date("February 3,2009 10:52:03")); 
document.write("<br/>"); 
document.write("<br/>" + new Date(2009,1,3)); 
document.write("<br/>" + new Date(2009,1,3,10,52,03)); 
document.write("<br/>"); 
document.write("<br/>" + new Date(Date.parse("February 3,2009"))); 
document.write("<br/>" + new Date(Date.parse("February 3,2009 10:52:03"))); 
document.write("<br/>" + new Date(Date.parse(2009,1,3))); //Output: NAN 
document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03))); //Output: NAN 
document.write("<br/>" + new Date(Date.parse("2009/02/03"))); 
document.write("<br/>"); 
document.write("<br/>" + new Date("2009/02/03")); 
document.write("<br/>" + new Date("2009/02/03 11:12:13")); 
document.write("<br/>" + new Date("2009-02-03")); 
输出结果: 
Tue Feb 3 00:00:00 UTC+0800 2009 
Tue Feb 3 10:52:03 UTC+0800 2009 
Tue Feb 3 00:00:00 UTC+0800 2009 
Tue Feb 3 10:52:03 UTC+0800 2009 
Tue Feb 3 00:00:00 UTC+0800 2009 
Tue Feb 3 10:52:03 UTC+0800 2009 
NaN 
NaN 
Tue Feb 3 00:00:00 UTC+0800 2009 
Tue Feb 3 00:00:00 UTC+0800 2009 
Tue Feb 3 11:12:13 UTC+0800 2009 
NaN
// 时间格式化
function dateFormat(date) {
	if (!date) {
                return null;
	}
	date = date.toString().replace(/[\D]/g, ""); // 清除时间除数字外字符
	var len = format.replace(/\W/g, "").length; // 默认格式长度
	var str = date.length >= len ? date.slice(0, len) : '';
	if (date && str) {
		switch (format) {
                    case 'yyyy-mm-dd hh:mm:ss':
                        date = str.replace(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/, "$1-$2-$3 $4:$5:$6");
                        break;
                    case 'yyyy-mm-dd hh:mm':
                        date = str.replace(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/, "$1-$2-$3 $4:$5");
                        break;
                    case 'yyyy-mm-dd':
                        date = str.replace(/(\d{4})(\d{2})(\d{2})/, "$1-$2-$3");
                        break;
                    case 'yyyy-mm':
                        date = str.replace(/(\d{4})(\d{2})/, "$1-$2");
                        break;
                    case 'yyyy':
                        date = str.replace(/(\d{4})/, "$1");
                        break;
                    default:
                        break;
                }return date;
	}
	return null;
}

//当天开始时间戳和结束时间戳

var n = 0
var dd = new Date();
dd.setDate(dd.getDate() + n);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;
var d = dd.getDate();
m = m < 10 ? "0" + m : m;
d = d < 10 ? "0" + d : d;
//当天日期
var day = y + "-" + m + "-" + d; 
//alert(day); 
var day_start = new Date(day+" 00:00:00").getTime();
var day_end = new Date(day+" 23:59:59").getTime();
//当天开始时间和结束时间
//alert(day_start+'|'+day_end);


//获取季度第一天时间戳和季度最后一天时间戳

//季度区间
function get_Quarter_date(){
var now = new Date()
var nowMonth = now.getMonth();
var quarterStartMonth = 0;
if (nowMonth < 3) {
quarterStartMonth = 0;
}
if (2 < nowMonth && nowMonth < 6) {
quarterStartMonth = 3;
}
if (5 < nowMonth && nowMonth < 9) {
quarterStartMonth = 6;
}
if (nowMonth > 8) {
quarterStartMonth = 9;
}
return quarterStartMonth;
}
//获取当前月天数
function get_month_days(myMonth) { 
var now = new Date()
var nowYear = now.getYear();
var monthStartDate = new Date(nowYear, myMonth, 1);
var monthEndDate = new Date(nowYear, myMonth + 1, 1);
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
return days;
}
var quarterStartMonth = get_Quarter_date();
var now = new Date()
var nowYear = now.getYear()
nowYear += (nowYear < 2000) ? 1900 : 0;
var Quarter_start = new Date(nowYear, quarterStartMonth, 1).getTime()
var Quarter_end_month = quarterStartMonth + 2
var Quarter_end = new Date(nowYear,Quarter_end_month,get_month_days(Quarter_end_month),23,59,59).getTime()
//当前季度第一天时间戳
alert(Quarter_start);
//当前季度最后一天时间戳
alert(Quarter_end);


最新回复 (0)
返回
零下一度
主题数
931
帖子数
0
注册排名
1