导航:首页 > 编程语言 > js如何判断日期的大小写

js如何判断日期的大小写

发布时间:2024-03-09 02:46:39

js 判断日期yyyy-MM-dd或yyyy-M-d或yyyyMMdd

最简单的正则 如 : \d-\d-\d
但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题.....

对于日期的有效范围,不同的应用场景会有所不同。MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到9999-12-31 23:59:59。

UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z。

先考虑与年份无关的前三条规则,年份可统一写作

(?!0000)[0-9]

下面仅考虑月和日的正则

1. 包括平年在内的所有年份的月份都包含1-28日

(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])

2. 包括平年在内的所有年份除2月外都包含29和30日

(0[13-9]|1[0-2])-(29|30)

3. 包括平年在内的所有年份1、3、5、7、8、10、12月都包含31日

(0[13578]|1[02])-31)

合起来就是除闰年的2月29日外的其它所有日期

(?!0000)[0-9]-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)

接下来考虑闰年的实现

1 : 四年一闰
([0-9](0[48]|[2468][048]|[13579][26])

2 : 百年不闰,四百年再闰
(0[48]|[2468][048]|[13579][26])00

3 : 合起来就是所有闰年的2月29日
([0-9](0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)

四条规则都已实现,且互相间没有影响,合起来就是所有符合DateTime范围的日期的正则

^((?!0000)[0-9]-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9](0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$

考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。

^(?:(?!0000)[0-9]-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9](?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

❷ JS 如何比较两个输入框里输入的日期大小,并且第一个输入框里的时间还要和当前的时间比较

<inputtype="text"id="time1"/>
<inputtype="text"id="time2"/>
varnow=newDate().getTime();//当前时间戳
vartime_1=newDate(document.getElementById('time1').value).getTime();//1的时间戳
vartime_2=newDate(document.getElementById('time2').value).getTime();//2的时间戳
//直接进行版时间戳的比较即可权,js的时间戳是从1970年1月1日0时0分0秒到对应时间所经过的毫秒数
//上面3个变量都是number类型,可直接进行比较,加减运算也可

❸ JS 如何比较时间大小

需要准备抄的材料分袭别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

❹ 在js中怎么区分大小写

VB的语法是Case InSensitive的,也来s就是说大源a小s写不j敏感,不k区g分5大x小q写,end if、 End If没区r别,只是因为8习m惯的原因一y般都用后者而已z。。 JS的语法是Case Sensitive的,大q小d写敏感,需要区g分2。 xkcぉ├蕤u_⊕gz莹pz

❺ js比较两个日期大小

思路:

先都转换成日期。然后再用毫秒数进行比较。

下面是简单内的例子:

functiontab(date1,date2){
varoDate1=newDate(date1);
varoDate2=newDate(date2);
if(oDate1.getTime()>oDate2.getTime()){
console.log('第一个大容');
}else{
console.log('第二个大');
}
}
tab('2015-10-10','2015-10-11');

❻ js 判断日期 大小

-
<script language="javascript">
var DateTimereg=/^(\d{1,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/
function checkdate(defaultDate){
if((defaultDate!="")){
if (!defaultDate.match(DateTimereg)){
alert("格式不正确!\t\n\n格式为:yyyy-mm-dd hh:mm:ss");
return false;
}
}
return true;
}

function CheckForm(myfor){
var d1=myfor.istime.value;
var d2=myfor.ietime.value;
if (!d1.match(DateTimereg)){
alert("[开始时间]格式不正确!\t\n\n格式为:yyyy-mm-dd hh:mm:ss");
myfor.istime.focus();
return false;
}

if(Date.parse(d1.replace("-","/")) > Date.parse(d2.replace("-","/"))){
alert("开始时间大于结束时间,请检查!");
return false;
}
return true
}
</script>

❼ js中两个字符串时间如何判断大小

最精确的比较方式应该是,知道字符串对应的时间的格式,然后将字符串转化成date型进行比较。

❽ 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);

}

❾ 如何用js判断2个日期的大小,格式为:日/月/年,其中月和日前面不加0

简单一点,
1.将字符串转化为时间
2.时间做差(差为相差的毫秒数)
3.差大于零,就是前者的时间 > 后者的时间. 反之,就是 <
4.例子
var str0 = '2012/1/3';
var str1 = '2012/1/2';

var date0 = new Date(str0);
var date1 = new Date(str1);
alert(date0 - date1);

阅读全文

与js如何判断日期的大小写相关的资料

热点内容
linux端口镜像 浏览:820
iphone5屏幕清尘 浏览:157
机顶盒密码怎么改 浏览:672
w7系统下载32位教程 浏览:618
pcb文件包括哪些内容 浏览:598
g00文件 浏览:607
用bat程序删除程序 浏览:516
dnf鬼泣90版本打安图恩 浏览:668
245倒角编程怎么计算 浏览:599
可以买生活用品的app有哪些 浏览:175
cad在c盘产生的文件夹 浏览:541
联想手机解锁工具 浏览:696
瑞银3887win10 浏览:833
学网络编程哪个好 浏览:805
手机vmos导入的文件在哪里 浏览:115
苹果手机可以把文件传到华为吗 浏览:63
海川化工下载的文件默认到哪里 浏览:343
学唱粤语歌app 浏览:975
qq游戏生死狙击玩不了 浏览:120
win10邮件不显示图片 浏览:922

友情链接