博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

javaScript系列:js中获取时间new Date()详细介绍

Posted on 2016-03-09 18:08  米粒3  阅读(164)  评论(0编辑  收藏  举报

var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表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( ); //获取日期与时间

==========================================================================

JS获取当前时间戳的方法-JavaScript 获取当前时间戳

JavaScript 获取当前时间戳:
第一种方法:

var timestamp =Date.parse(new Date());
结果:1280977330000
第二种方法:

var timestamp =(new Date()).valueOf();
结果:1280977330748

第三种方法:

var timestamp=new Date().getTime();
结果:1280977330748

第一种:获取的时间戳是把毫秒改成000显示,

第二种和第三种是获取了当前毫秒的时间戳。

 

我和同事在用js实现一个显示出分析数据所剩大概时间的过程中,时间总是变给0,结果很怪异,最后发现获取时间的时候用的是Date.parse(newDate())获取的时间戳把毫秒改成了000显示,所以时间差计算的不准确。

可以用第二种或第三种方法计算时间差。

js中单独调用new Date(),例如document.write(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,   "/"))); //转换成Data();

var month=date.getMonth()+1; //获取当前月份