js中时间问题

时间:2022-10-19 16:27:23

(new Date()).getTime()和+new Date()都可以取到当前时间戳,然而前者的效率更高。

因为:

getTime()是Date对象的方法;+等同于valueOf()方法,是Object上的方法,所以前者的效率更高。


Date对象的方法:

var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)         // 所以获取当前月份是myDate.getMonth()+1; 
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)

myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间


JavaScript 获取当前毫秒时间戳有以下三种方法:

var timestamp =Date.parse(new Date());    结果:1460883607000         //不推荐; 毫秒改成了000显示

var timestamp =(new Date()).valueOf();       结果:1460883607664       //推荐; 

var timestamp=new Date().getTime();         结果:1460883607664        //推荐; 


js中单独调用new Date();  显示:  Mar 31 10:10:43 UTC+0800 2012

但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数


将字符串形式的日期转换成日期对象

var strTime="2011-04-16";    //字符串日期格式           
var date= new Date(Date.parse(strTime.replace(/-/g,  "/")));      //转换成Date();