
js是用0到11来表示月份的(但日却是从1起算的),这是个大坑,初学者很容易入坑
比方说要得到一个2月27日的日期应该这样:
var ifuture = new Date(2019,1,27,20,35,3);
如果只是要这个功能 , 就不要跟日期类打交道了直接算就好了
function getMonths(date1 , date2){//用-分成数组
date1 = date1split("-");
date2 = date2split("-");
//获取年,月数
var year1 = parseInt(date1[0]) ,
month1 = parseInt(date1[1]) ,
year2 = parseInt(date2[0]) ,
month2 = parseInt(date2[1]) ,
//通过年,月差计算月份差
months = (year2 - year1) 12 + (month2-month1) + 1;
return months;
}
javascript 自带有个对象(构造函数),Date()下面是代码:
var myDate = new Date(); //实例一个时间对象;
myDategetFullYear(); //获取系统的年;
myDategetMonth()+1; //获取系统月份,由于月份是从0开始计算,所以要加1
myDategetDate(); // 获取系统日,
myDategetHours(); //获取系统时,
myDategetMinutes(); //分
myDategetSeconds(); //秒
//不知道这是不是你想要的,这不需要转换为时间格式
function getNums(str){
var reg = /(\d+)[^\d](\d+)[^\d](\d+)/g;
var numArr = regexec(str);
return [parseInt(numArr[1]),parseInt(numArr[2])-1,parseInt(numArr[3])];
}
function getMonths(s1,s2){
var a1 = getNums(s1);
var a2 = getNums(s2);
return (a2[0]-a1[0])12+a2[1]-a1[1];
}
consolelog(getMonths("2017-01-01","2018-12-12"));
var date = new Date();
var year = dategetFullYear();
var month = dategetMonth()+1;
var day = dategetDate();
var hour = dategetHours();
var minute = dategetMinutes();
var second = dategetSeconds();
alert(year+'年'+month+'月'+day+'日 '+hour':'+minute+':'+second)
以上就是关于JS获取日期的时候数字形式月份比实际大一个月为啥全部的内容,包括:JS获取日期的时候数字形式月份比实际大一个月为啥、求JS两个日期之间的月份数、javascript 分别读取时间中的年、月、日、时、分、秒的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)