1. Date
Date 封装一个时间,并提供操作时间的API ;
何时使用 : 只要在程序中存储时间或计算时间 .
创建
1. 创建日期对象并自动获得当前系统时间:
var now=new Date();
2. 创建日期对象并封装自定义时间
var birth=new Date("自定义时间");
3. 将毫秒数转化为日期对象:
var date=new Date(ms);
4. 复制一个日期对象:
为什么: 日期计算都是直接修改原日期对象
何时: 如果希望同时保留计算前后的新旧两个时间时
如何: var date2=new Date(date1)
API
1. 8个单位:
FullYear Month Date Day
Hours Minutes Seconds Milliseconds
2. 每个单位上都有一对儿get/set方法
其中: date.getXXX() 获取一个单位上的数值
date.setXXX(n) 修改一个单位的数值
特例: Day 没有set
3. 取值范围:
Month 0~11 计算机中的月份值比现实中小1
Date 1~31
Day 0~6
Hours 0~23
Minutes/Seconds 0~59
计算: 2种:
1. 两日期对象可相减: 结果是毫秒差
2. 对任意单位做加减:
3步:
1. 取值: var d=date.getDate();
2. 计算: d+=7
3. 改回去: date.setDate(d);
简写: date.setDate(date.getDate()+7);
福利: setXXX() 可自动调整时间进制
问题: setXXX() 直接修改原日期对象
解决: 先复制日期对象副本,再用副本计算
日期格式化:
date.toString() 转为当地时间的完整格式
date.toLocaleString() 转为当地时间的简化版格式
date.toLocaleDateString() 仅保留日期部分
date.toLocaleTimeString() 仅保留时间部分
date.toGMTString() 转为0时区国际标准时间