js实现new Date(),时间对象和时间戳操作

时间:2023-12-09 13:58:13

1、js中实现时间date对象

var myDate = new Date();//获取系统当前时间,结果:Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间)

2、获取new Date对象的具体时间戳

var date_in = date1.getTime();//date_in结果:1501862400000

3、获取特定格式的时间

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( ); //获取日期与时间

4、获取date1==2017-08-31和date2==2017-09-01

var date1 = new Date().getFullYear() + "-" + (new Date().getMonth() + 1) + "-" + new Date().getDate();
var date3 = Date.parse(new Date(Date.parse((new Date().getFullYear() + "/" + (new Date().getMonth() + 1) + "/" + new Date().getDate()))))+86400000
var date2 = new Date(date3).getFullYear() + "-" + (new Date(date3).getMonth() + 1) + "-" + new Date(date3).getDate(),

5、new Date(参数);

参数格式剖析:

1)new Date(13位JS时间戳)  ; 如new Date(1280977330000),结果是:Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间)

2)new Date(Date.parse("Y/m/d")) ;如new Date(Date.parse("2017/08/09")),结果是:Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间)

       将自定义字符串形式的日期转换成日期对象、并参与计算

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

       这里的date可以直接参与计算,自动转换成13位时间戳

6、==========================================================================

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

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

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

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

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,  "/")));      //转换成Data();

这里的date可以直接参与计算,自动转换成13位时间戳

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

上面的new Date()和下面的date.getTime() 在进行计算的时候是相等的;因为new Date()计算时自动转换成13位长度的毫秒数,如:

将字符串形式的日期转换成日期对象
var strTime="2011-04-16"; //字符串日期格式
var date1= new Date(Date.parse(strTime.replace(/-/g, "/"))); //转换成Data(); if (date1 < Date.parse(new Date()) - 86400000) {//这里的date1格式:Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间),但是在参与计算的时候,直接转换成13位的时间戳数据 alert('住房时间不能小于当前时间!'); }