js 日期函数用法总结

时间:2023-03-10 00:40:25
js 日期函数用法总结

1 创建Date对象,用于处理日期和时间

var date=new Date();

Date对象会把当前日期和时间保存为初始值。

还可以设置其它参数初始化 Date对象:

new 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); new Date("yyyy/MM/dd"); 参数说明: month:用英文表示月份名称,从January到December mth:用整数表示月份,从0-11(1月到12月) dd:表示一个月中的第几天,从1到31 yyyy:四位数表示的年份 hh:小时数,从0(午夜)到23(晚11点) mm:分钟数,从0到59的整数 ss:秒数,从0到59的整数 ms:毫秒数,为大于等于0的整数 如: new Date("January 12,2006 22:19:35"); new Date("January 12,2006"); new Date(2006,0,12,22,19,35); new Date(2006,0,12); new Date(1137075575000); new Date("2014/09/22");

2. Date 对象的方法

              日期访问方法:

Method(方法)

Description (描述)

Value(数值)

getYear()

返回年份的最后两位数字

2001

getMonth()

返回年份中的第几月(0到11)

5

getDate()

返回月份中的第几日(1到31)

2

getDay()

返回星期中的第几天 (0到6)

6

getTimezoneOffset()

返回当地时间与格林尼治天文台平均时间的差别

-480 (-8h)

getHours()

返回一天中的时针点数(0到23)

16

getMinutes()

返回分钟 (0..59)

8

getSeconds()

返回时间的秒 (0到59)

24

getTime()

返回自从公元1970年1月1日的毫秒数

991469304470

日期设置方法

setDate()

设置每月中的第几天(从0到30)

setHours()

设置小时(从0到23)

setMinutes()

设置分钟(从0到59)

setMonth()

设置月份(从0到11)

setSeconds()

设置秒数(从0到59)

setTime()

设置时间(从公元以来的毫秒数)

setYear()

设置年份

其它的日期方法:

parse

转化日期字符串为自从公元以来的毫秒数,比如Date.parse(“date string”)

toString()

Sat Jun 2 16:08:24 UTC+0800 2001

toGMTString()

Sat, 2 Jun 2001 08:08:24 UTC

toLocaleString()

2001年6月2日 16:08:24

应用例子:使用getDay()方法获取星期数

var myDate=new Date();
var weekCn=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
alert(weekCn[myDate.getDay()]);

3  通过扩展方法format格式化 Date

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
} 调用:
new Date().format('yyyy-MM-dd');

其它实用方法:

//函数名:CheckDateTime
//功能介绍:检查是否为日期
function CheckDate(str){
var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false; return true;
} 调用:
alert(CheckDate("2014-9-23"))