在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间。
日期对象的创建:
new Date();
date.toString();//将日期对象转换为字符串时,采用的是本地时间
date.toLocalString();//将日期对象转换为字符串时,采用的是本地时间,显示的是地方日期的格式
date.toUTCString();//将日期对象转换为字符串时,采用的是世界时间。
date.toGMTString();将日期对象转换为字符串时,采用的是GMT时间,但是已被禁止使用,一般用toUTCString()方法来替换。
date.toDateString();//将日起部分转换为字符串,本地时间
date.toLocalDateString();//将日期部分转化为字符串,采用的是本地时间,显示的是地方日期的格式
date.toTimeString();//将时间部分转化为字符串,本地时间
date.toLocalTimeString();//将时间部分转换为字符串,采用的是本地时间,显示的是地方日期的格式
date.getYear();//获取年份,但不建议使用
date.getFullYear();//获取年份,以四位数显示,建议使用
date.getMonth();//获取月份,值为0-11,一月份为0
date.getDate();//获取天数,即一个月中的某一天
date.getDay();获取一周中的第几天,值为0-6,周日为0
date.getHours();//返回小时部分
date.getMinutes();//返回分钟部分
date.getSeconds();//返回秒钟部分
date.getMilliseconds();//返回毫秒部分
date.getTime();//返回日期对象中的时间与1970年1月1日0时0分0秒所间隔的毫秒数
date.getTimezoneoffset();//返回日期对象中的时间与UTC之间的时差数,单位为秒
date.setYear(year);//不建议使用
date.setFullYear(year,month,day);//year四位数;month:0-11,该参数可省略;day:1-31, 该参数可省略
date.setMonth(month,day);//month:0-11;day:1-31, 该参数可省略
date.getDate(day);//day:1-31
date.getHours(hours,minutes,seconds,milliseconds);//hours:0-23,minutes:0-59,可省略,seconds:0-59,可省略milliseconds:0-999,可省略
date.getMinutes(minutes,seconds,milliseconds);//minutes:0-59,seconds:0-59,可省略milliseconds:0-999,可省略
date.getSeconds(seconds,milliseconds);// seconds:0-59,milliseconds:0-999,可省略
date.getMilliseconds(milliseconds);//,milliseconds:0-999
date.setTime(millisecinds);milliseconds代表设置的时间与1970年1月1日0时0分0秒所间隔的毫秒数
date.valueOf();返回日期对象中的时间与1970年1月1日0时0分0秒所间隔的毫秒数
date.parse(str);返回str参数所代表的时间与1970年1月1日0时0分0秒所间隔的毫秒数
date.UTC(year,month,day,hours,minutes,seconds,milliseconds);将参数所代表的日期转换成与1970年1月1日0时0分0秒所间隔的毫秒数
很多时候我们都需要将日期转化为更友好可读的形式,所以这里整理几种格式化日期的方法,方便下次引用。
// 对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;
}
调用:
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");