Date

new Date()返回的是object

var d= new Date();
typeof d // "object"

date的属性方法,都是从构造函数Date()的原型中拿的

获取当前几号

var d= new Date();
d.getDate()

获取当前星期几

var d= new Date();
d.getDay()
返回值是按照西方习惯的,星期日返回0

获取当前月份

var d= new Date();
d.getMonth()
注意月份是从0开始的,如果当前是6月,返回值是5

获取复合当地习惯的,完整日期表示

对于YYYY-MM-DD形式的字符串,JavaScript引擎可能会将其当作ISO格式来解析,采用格林尼治时区作为计时标准;
而对于其他格式的日期字符串,一律视为非ISO格式,采用本地时区作为计时标准。

var d= new Date();
d.toLocaleString()
d.toLocaleDateString()
d.toLocaleTimeString()

需要注意的几个时间

//注意区时的问题
new Date() // Sun Jun 25 2017 17:37:21 GMT+0800 (中国标准时间)
new Date("2017-06-26") // Mon Jun 26 2017 08:00:00 GMT+0800 (中国标准时间)
new Date("2017,06,26") // Mon Jun 26 2017 00:00:00 GMT+0800 (中国标准时间)

获取日期间隔

用两个日期相减可以获取间隔的毫秒数

var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);

d2 - d1
// 2678400000

获取从当前时间到指定日期的间隔时间

类型转换时,Date对象的实例如果转为数值,则等于对应的毫秒数;如果转为字符串,则等于对应的日期字符串。所以,两个日期对象进行减法运算,返回的就是它们间隔的毫秒数;进行加法运算,返回的就是连接后的两个字符串。

function countdown(str){
    var newstr=str.split('-').join(',')  //输出
    var endTime=new Date(newstr);
    var nowTime=new Date();
    var distance=endTime-nowTime;
    console.log(distance);
    var day=Math.floor(distance/(24*60*60*1000));
    var hour=Math.floor(distance/(60*60*1000)%24);
    var minute=Math.floor(distance/(60*1000)%60);
    var second=Math.floor(distance/1000%60);
    console.log('距离十一长假还有'+ day+'天'+ hour +'时'+ minute+'分'+second+'秒')
 
}
countdown('2017-10-01')

你可能感兴趣的:(Date)