导航:首页 > 编程语言 > 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如何判断日期的大小写相关的资料

热点内容
微信己册除的文件怎样找回来 浏览:715
苹果美国账号共享2017 浏览:252
ps文件修改后打开还是原图 浏览:220
烧卡机苹果4微信qq哪里下载 浏览:780
ug120找不到指定文件 浏览:522
cda文件怎么转换成mp3格式 浏览:702
青岛hpv疫苗在哪个app预约 浏览:881
双十一成交额2021数据在哪里看 浏览:631
苹果手机怎么打开移动数据 浏览:637
文件扫描成图片是彩色的吗 浏览:50
编程里的comply什么意思 浏览:91
电脑上面点了禁用网络怎么改回来 浏览:28
javacatch执行 浏览:182
ps软件文件名字 浏览:184
黑苹果查找文件路径 浏览:397
现在编程都有哪些语言 浏览:360
不用钱编辑pdf文件 浏览:973
c截图源代码 浏览:328
隐藏密码忘记怎么办 浏览:102
win10搜索文件名不要内容 浏览:749

友情链接