javascript中一个重要的内置对象就是Date对象,平时写前端代码的时候,经常需要用到这个对象,进行各种格式转换之类的。正好在学习javascript,总结一下这个对象的使用方式。
//创建一个表示当前时间的日期对象
var date = new Date();
打印一下这个日期对象,发现是这样的格式:
Sat Nov 03 2018 16:30:01 GMT+0800 (中国标准时间)
那么怎么创建一个指定时间的日期对象呢?其实,Date的构造函数会接收一个long型的数值,然后根据这个数值计算出一个从1970年0点0分0秒开始的时间(注意北京时间是从1970年8点0分0秒开始,所以要正确显示时间的话,一般需要减去8个小时)。 而Date有一个函数Date.parse(),这个函数接收一个字符串参数,可以将这个表示时间的参数返回为long型的毫秒数。例如:获取2018年3月15日的日期对象。
var date = new Date(Date.parse("2018/3/15"));
打印一下:
Thu Mar 15 2018 00:00:00 GMT+0800 (中国标准时间)
这个函数的参数格式一般使用的有:
YYYY-MM-DD hh:mm:ss 等
然后有一个特殊的函数Date.now() 这个函数获取的是当前时间的毫秒数,这个函数只在IE9+、Firefox3+、Safari3+、Opera10.5和Chrome中有效。在其他浏览器版本中使用 +new Date() 获取当前毫秒数。
日期格式化方法:
toDateString() 以特定于实现的格式显示星期几、月、日和年;
toTimeString() 以特定于实现的格式显示时、分、秒和时区;
toLocalDateString() 以特定于地区的格式显示星期几、月、日和年;
toLocalTimeString() 以特定于实现的格式显示时、分、秒;
toUTCString() 以特定于实现的格式完整的UTC日期;
下面看以上方法在chrome中的实现
Sat Nov 03 2018
18:12:14 GMT+0800 (中国标准时间)
2018/11/3
下午6:12:14
Sat, 03 Nov 2018 10:12:14 GMT
还有比较常见的getFullYear、getMonth、getDate、getDay之类的函数就不多介绍了,需要注意的是Month是从0开始计数的。
另附上一个倒计时例子:
var count = 1000 * 60 ;
setInterval(function () {
var time = new Date(count);
var hours = time.getHours() - 8;
time.setHours(hours);
console.log(time.toTimeString());
count = count - 1000;
},1000);
网友评论