一、传参
我们用var now=new Date()
获得自定义的时间对象
函数中没有传递任何参数,表示此对象now自动获取了当前的时间。
如果想要创建一个自定义时间的对象,需要在new Date()中传递参数,接收毫秒数。
可以使用Date.parse()来获得自定义时间的毫秒数。
4种方法如下:
var mydate1=new Date(Date.parse("12/12/2013")); console.log(mydate1); var mydate2=new Date("12/12/2013");//会自动调用Date.parse console.log(mydate2); var mydate3=new Date(Date.parse("12-12-2013")); console.log(mydate3); var mydate4=new Date("12-12-2013");//会自动调用Date.parse console.log(mydate4);
二、将时间对象转换成字符串日期格式: string 'yyyy-mm-dd'
2.1:传入时间戳
function myFormat(eqDate) { var dd = new Date(eqDate); var y = dd.getFullYear(); var m = dd.getMonth()+1; var d = dd.getDate(); if(parseInt(m)<10){ m = "0"+m; } if(parseInt(d)<10){ d = "0"+d; } return end = y+"-"+m+"-"+d; }
2.2传入日期对象
function myFormat(dd) { var y = dd.getFullYear(); var m = dd.getMonth()+1; var d = dd.getDate(); if(parseInt(m)<10){ m = "0"+m; } if(parseInt(d)<10){ d = "0"+d; } return end = y+"-"+m+"-"+d; }
三:日期对象常用方法
var myData = new Data(); 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( ); //获取日期与时间
四:获取某天所在月的第一天和最后一天
function fun(string){ var tempDate = new Date(string); var year = tempDate.getFullYear(); var month = tempDate.getMonth()+1; var day = tempDate.getDate(); /*
if(month==0) { month=12; year=year-1; } if (month < 10) { month = "0" + month; }
*/ var firstDay = year + "-" + month + "-" + "01";//上个月的第一天 var myDate = new Date(year, month, 0); var lastDay = year + "-" + month + "-" + myDate.getDate();//上个月的最后一天 var json = {}; json.start = firstDay; json.end = lastDay; return json; } console.log(fun("2017-02-02"));
对应的,取上个月,month 不加一,把注释放开