java脚本中的Regex日期模式yyyy-mm-dd javascript
Regex date pattern yyyy-mm-dd javascript in java script?
Regex日期模式yyyy-mm-ddjavascript在java脚本中,要比较表单中的起始日期和截止日期,需要检查截止日期是否超过起始日期,并且日期是否应该相同?
您不需要任何正则表达式,可以使用Date.parse
读取ISO-8061格式的日期并直接进行比较:
var date1 = Date.parse("2015-12-14");
var date2 = Date.parse("2015-12-15");
return date1 < date2; // true
注意,Date.parse
实际上返回一个integer
值。如果无法将字符串解析为日期,则返回NaN
。
使用Date(string)
构造函数获取实际的Date
实例:
var date1 = new Date("2015-12-14");
var date2 = new Date("2015-12-15");
return date1 < date2; // true
但是,Date(string)
构造函数将在无效输入时抛出异常,因此,如果您需要首先测试日期,请执行以下操作:
var isValidDate = !isNaN( Date.parse( dateString ) );
if( isValidDate ) return new Date( dateString );
或者,如果你觉得效率很高,并且想避免对字符串进行两次解析:
var timestamp = Date.parse( dateString );
if( !isNaN( timestamp ) ) return new Date( timestamp );
您不需要正则表达式。事实上,你甚至不需要像@Dai建议的那样解析日期。ISO-8601格式的日期可以作为字符串进行比较:
'2015-12-14' < '2015-12-15' // true
'2015-12-20' == '2015-12-20' // true
字符串的字母排序将按时间顺序产生日期,这是因为排序,即先是年,然后是月,然后是天,并且因为个位数中的前导0
,例如04 < 10
。
当然,这意味着字符串始终是有效的ISO-8601日期。
相关文章:
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在Datepicker中将日期格式更改为yyyy-mm-dd
- 如何使用moment.js将秒转换为时间格式(YYYY:MM:DD HH:MM:ss)
- Javascript Date 对象因格式而异:yyyy-mm-dd vs mm-dd-yyyy
- 使用 YYYY-MM-DD 值的比较构建 D3 时间线
- 在Javascript中用YYYY-mm-dd格式计算年龄
- 在 Angular 中将日期格式从 yyyy/MM/dd 更改为 MM/dd/yyyy
- javascript/jQuery date.toString(“yyyy-MM-dd HH:MM:ss”)在服务器之间
- Javascript正在删除DateTime[YYYY/MM/DD/HH:MM:SS:MM]中的毫秒
- 将YYYY/MM/DD转换为有效格式
- 使用RegEx在javascript中重写格式错误的日期yyyy-MM-d到yyyy-MM-dd
- 创建一个等于yyyy-mm-dd 00:00:00或23:59:59的时间戳
- 如何获得日期以 YYYY-mm-dd 为单位的年份差异
- 日期格式 yyyy-mm-dd 到 dd-M-yy
- 以 yyyy-mm-dd 格式的两天之间的差异(以天为单位)
- 使用 javascript 将日期从 dd/mm/yyyy 转换为 yyyy/mm/dd
- 如何将此日期“太平洋标准时间 2016 年 3 月 9 日星期三 09:48:09”转换为“YYYY-MM-DD HH:
- 将 mm/dd/yyyy 转换为 yyyy-mm-dd
- 在 JavaScript 中将日期从 dd/mm/yyyy 转换为 yyyy-mm-dd
- java脚本中的Regex日期模式yyyy-mm-dd javascript