js日期,js日期相减计算天数
js获得当前日期和时间的代码是什么?
var myDate = new Date();
myDate.toLocaleDateString();可以获取当前日期
myDate.toLocaleTimeString(); 可以获取当前时间
扩展:
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.toLocaleString( ); //获取日期与时间
JS 如何截取部分日期呢?
可以使用substring 方法提取字符串中介于两个指定下标之间的字符。
方法形式:substring(start,end)
举例:截取年月日部分的日期,代码如下:
var dateTime = new Date();? ? ? ? ?
var hour = dateTime.getHours();
var min = dateTime.getMinutes();
var sec = dateTime.getSeconds();
var yy = dateTime.getFullYear();
var dd = dateTime.getDate();
var mm = dateTime.getMonth();
var time= yy + "-" + mm+1 + "-" + dd + " " + hour + ":" + min + ":" + sec;?
console.log(time.substring(0,10));
截取结果如下图所示:
js日期校验
function check(date){ return (new Date(date).getDate()==date.substring(date.length-2));}//参数date可以格式化为xx-xx-xx或xxxx-xx-xx或用/分割附:
通常来说,javascript验证日期的有效性可以通过正则判断
但正则表达式无法精准验证日期的有效性,你无法通过正则表达式判断出1900-02-29是非法日期而2000-02-29是合法日期,而且正则表达式匹配起来比较繁琐。
要想精确验证,最容易想到的方法就是通过月份判断日期是否合法(1~28/29/30/31),你可以用一个数组表示每月的天数,如daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],但你会发现daysInMonth[1]这个值可能是28或29,你又要写一个判断闰年的函数来解决这个问题......
这至少要花费20行以上的代码来完成这件事,而通过javascript中的Date对象,我们只需要1行代码即可完成上述功能。
function check(date){
return (new Date(date).getDate()==date.substring(date.length-2));
}
date为一个待检查的类日期字符串(如2013-01-01、2013/01/01、2013/01/32、2013/02/29),不论这个字符串是否正确
通过新建的Date对象(new Date(date)),可以识别出该日期是否正确,如果不正确则返回Invalid Date
但这样会有一个bug,当日期的值在1-31之间,new Date总返回一个新的对象,不论该月份是否存在这个日期(如2013-02-30将返回日期对象Sat Mar 02 2013 08:00:00 GMT+0800 (中国标准时间)),返回结果是下个月的日期而不报错
所以要用getDate()方法获取日期(new Date('2013-02-30')对象的getDate()方法将返回2)
date.substring(date.length-2)会获取到字符串最后两位也就是日期的部分,这与Date对象的日期部分做比较,如果相等则说明日期有效,否则为无效日期
如果日期无效则'=='左边值为NaN,右边无论是什么(''、null、undefined、NaN等)结果都为false
打字不易,如满意,望采纳。
js 判断日期格式
functionisDate(dateString){
if(dateString.trim()=="")returntrue;
varr=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例? 如:2008-08-08\n\r");
returnfalse;
}
vard=newDate(r[1],r[3]-1,r[4]);
varnum = (d.getFullYear()==r[1](d.getMonth()+1)==r[3]d.getDate()==r[4]);
if(num==0){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例? 如:2008-08-08\n\r");
}
return(num!=0);
}