Date 时间与日期

时间与日期
ECMAscript 提供了 Date 类型来解决时间与日期类型

日期格式化方法

Date类型还有一些专门用于将日期格式化为字符串的方法,这些方法如下。

  1. toDateString():以特定于实现的格式显示星期几、月、日和年;
  2. toTimeString():以特定于实现的格式显示时、分、秒和时区;
  3. toLocaleDateString():以特定于地区的格式显示星期几、月、日和年;、
  4. toLocaleTimeString():以特定于实现的格式显示时、分、秒;
  5. toUTCString():以特定于实现的格式完整的UTC日期。

与toLocaleSTring()和toString()方法一样,以上这些字符串格式方法的输出也是因浏览器而异的,因此没有哪一个方法能够用来在用户页面中显示一致的日期信息。
除了前面介绍的方法之外,还有一个toGMTString()的方法,这是一个与toUTCSTring()等价的方法,其存在目的在于确保向后兼容。不过,ECMAScript推荐现在编写的代码一律使用toUTCString()方法。






























































































方法 说明
toDateString() 方法可把 Date 对象的日
toDateString() 方法可把 Date 对象的日期部分转换为字符串,并返回结果
toTimeString() 方法可把 Time 对象的日期部分转换为字符串,并返回结果
toLocaleDateString() 如2016年1月1日
toLocaleTimeString() 如13:55:55
getTime() 返回日期的毫秒数
setTime() 设置日期的毫秒数
getFullYear() 获得年份,如2016
setFullYear() 设置年份,如2009
getMonth() 获得月份,0表示一月
setMonth() 设置月份,0表示一月,超过11增加年份
getDate() 获得日期中的天数
setDate() 设置天数,超过31增加月份
getDay() 获得星期,0表示星期日,6表示星期六
getHours() 获得小时,0~23
setHours() 设置小时,0~23
getMinutes() 获得分钟,0~59
setMinutes() 设置分钟,0~59
getSeconds() 获得秒数,0~59
setSeconds() 设置秒数,0~59
getMilliseconds() 获得毫秒
setMilliseconds() 设置毫秒

日期/时间组件方法










































































































































方法 说明
getTime() 返回表示日期的毫秒数;与valueOf()方法返回的值相同
setTime(毫秒) 以毫秒数设置日期,会改变整个日期
getFullYear() 取得4位数的年份(如2016而非仅16)
getUTCFullYear() 返回UTC日期的4位数年份
setFullYear(年) 设置日期的年份。传入的年份值必须是4位数字
setUTCFullYear(年) 设置UTC日期的年份。传入的年份值必须是4位数字
getMonth() 返回日期中的月份,其中0表示一月,11表示十二月
getUTCMonth() 返回UTC日期中的月份,其中0表示一月,11表示十二月
setMonth(月) 设置日期中的月份。传入的月份值必须大于0,超过11则增加年份
setUTCMonth(月) 设置UTC日期中的月份。传入的月份必须大于0,超过11则增加年份
getDate() 返回日期月份中的天数(1到31)
getUTCDate() 返回UTC日期月份中的天数(1到31)
setDate(日) 设置日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加月份
setUTCDate(日) 设置UTC日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加月份
getDay() 返回日期中星期的星期几(其中0表示星期日,6表示星期六)
getUTCDay() 返回UTC日期中星期的星期几(其中0表示星期日,6表示星期六)
getHours() 返回日期中的小时数(0到23)
getUTCHours() 返回UTC日期中的小时数(0到23)
setHours(时) 设置日期中的小时数,传入的值超过了23则增加月份中的天数。传入的值为负数,则实际值为前一天的24减参数的绝对值小时。
setUTCHours(时) 设置UTC日期中的小时数,传入的值超过了23则增加月份中的天数。传入的值为负数,则实际值为前一天的24减参数的绝对值小时。
getMinutes() 返回日期中的分钟数(0到59)。
getUTCMinutes() 返回UTC日期中的分钟数(0到59)。
setMibutes(分) 设置日期中的分钟数,传入的值超过59则增加小时数
setUTCMinutes(分) 设置UTC日期中的分钟数,传入的值超过59则增加小时数
getSeconds() 返回日期中的秒数(0到59)
getUTCSeconds() 返回UTC日期中的秒数(0到59)
setSeconds(秒) 设置日期中的秒数,传入的值超过59则增加分钟数
setUTCSeconds(秒) 设置UTC日期中的秒数,传入的值超过59则增加分钟数
getMilliseconds() 返回日期中的毫秒数
getUTCMilliseconds() 返回UTC日期中的毫秒数
setMilliseconds(毫秒) 设置日期中的毫秒数
setUTCMilliseconds(毫秒) 设置UTC日期中的毫秒数
getTimezoneOffset() 返回本地时间与UTC时间相差的分钟数。

日期计算

Date类中没有提供相关的日期计算方法,其实其已经给出了方便的日期计算方法,就是使用 getXXX()setXXX() 方法:

var date = new Date(2016 , 11 , 15 , 12 , 11, 0);
console.log(date.toLocaleString());
date.setDate(date.getDate()-120);//2016/8/17 下午12:11:00
//27天前的日期
console.log(date.toLocaleString());//2016/12/15下午12:11:00     

Date 时间与日期_第1张图片

可以通过简单的封装就可以指定一套自己的日期计算方法,如:

function toCharacterString(date){
var localeString = date.toLocaleString();
localeString = localeString.replace("/"  , "年");
localeString = localeString.replace("/"  , "月");
localeString = localeString.replace(" "  , "日");
localeString = localeString.replace(":"  , "点");
localeString = localeString.replace(":"  , "分");
localeString = localeString + "秒";
console.log(localeString);
}
var date = new Date();
toCharacterString(date);// 2016年8月17日下午12点11分01秒     

你可能感兴趣的:(Date 时间与日期)