1./**
2. * 判断是不是一个正确的时间 yyyy-MM-dd
3. * @param {String} str
4. * @return {Date}
5. */
6.Date.isSimpleDate = function(str){
7. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
8. var r = str.match(reg);
9. if(r==null)return null;
10. var d= new Date(r[1], r[3]-1,r[4]);
11. var newStr=d.getFullYear() + "-";
12. newStr+=(((d.getMonth()+1)<10&&r[3].length>1)?('0'+(d.getMonth()+1)):(d.getMonth()+1)) + "-" ;
13. newStr+=(((d.getDate())<10 && r[4].length>1)?('0'+d.getDate()):d.getDate());
14. if(newStr==str){
15. return d;
16. }else{
17. return null;
18. }
19.}
20./**
21. * 判断是不是一个正确的时间类型 yyyy-MM-dd hh
22. * @param {Object} str
23. */
24.Date.isDateHH = function(str){
25. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2})$/;
26. var r = str.match(reg);
27. if(r==null)return null;
28. var d= new Date(r[1], r[3]-1,r[4],r[5]);
29. var newStr=d.getFullYear() + "-";
30. newStr+=(((d.getMonth()+1)<10&&r[3].length>1)?('0'+(d.getMonth()+1)):(d.getMonth()+1)) + "-" ;
31. newStr+=(((d.getDate())<10 && r[4].length>1)?('0'+d.getDate()):d.getDate()) + " ";
32. newStr+=((d.getHours()<10&&r[5].length>1)?('0'+d.getHours()):d.getHours());
33. if(newStr==str){
34. return d;
35. }else{
36. return null;
37. }
38.}
39./**
40. * 判断是不是一个正确的时间类型 yyyy-MM-dd hh:mm
41. * @param {String} str
42. */
43.Date.isDateHHMM = function(str){
44. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})$/;
45. var r = str.match(reg);
46. if(r==null)return null;
47. var d= new Date(r[1], r[3]-1,r[4],r[5],r[6]);
48. var newStr=d.getFullYear() + "-";
49. newStr+=(((d.getMonth()+1)<10&&r[3].length>1)?('0'+(d.getMonth()+1)):(d.getMonth()+1)) + "-" ;
50. newStr+=(((d.getDate())<10 && r[4].length>1)?('0'+d.getDate()):d.getDate()) + " ";
51. newStr += ((d.getHours()<10&&r[5].length>1)?('0'+d.getHours()):d.getHours())+":";
52. newStr += ((d.getMinutes()<10&&r[6].length>1)?('0'+d.getMinutes()):d.getMinutes());
53. if(newStr==str){
54. return d;
55. }else{
56. return null;
57. }
58.}
59./**
60. * 判断是不是一个正确的时间类型 yyyy-MM-dd hh:mm:ss
61. * @param {String} str
62. */
63.Date.isDateHHMMSS = function(str){
64. var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
65. var r = str.match(reg);
66. if(r==null)return null;
67. var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
68. var newStr=d.getFullYear() + "-";
69. newStr+=(((d.getMonth()+1)<10&&r[3].length>1)?('0'+(d.getMonth()+1)):(d.getMonth()+1)) + "-" ;
70. newStr+=(((d.getDate())<10 && r[4].length>1)?('0'+d.getDate()):d.getDate()) + " ";
71. newStr += (((d.getHours()<10&&r[5].length>1)?('0'+d.getHours()):d.getHours()))+":";
72. newStr += (((d.getMinutes()<10&&r[6].length>1)?('0'+d.getMinutes()):d.getMinutes())) + ":";
73. newStr += ((d.getSeconds()<10&&r[7].length>1)?('0'+d.getSeconds()):d.getSeconds());
74. if(newStr==str){
75. return d;
76. }else{
77. return null;
78. }
79.}
80./***
81. * 判断是日期1是不是在日期2后面
82. * @param {Date/String} d1
83. * @param {Date/String} d2
84. * @return {Boolean} true 小于日期2
85. */
86.Date.before = function(d1,d2){
87. if((typeof d1 == 'object' && d1.constructor == Date) && (typeof d2 == 'object' && d2.constructor == Date)){
88. if(d1<=d2){
89. return true;
90. }else{
91. return false;
92. }
93. }else if((typeof d1 == 'string' && d1.constructor == String) && (typeof d2 == 'string' && d2.constructor == String)){
94.
95. var date1 = Date.isSimpleDate(d1)!=null?Date.isSimpleDate(d1):Date.isDateHH(d1);
96. date1 = date1!=null?date1:Date.isDateHHMM(d1);
97. date1 = date1!=null?date1:Date.isDateHHMMSS(d1);
98. var date2 = Date.isSimpleDate(d2)!=null?Date.isSimpleDate(d2):Date.isDateHH(d2);
99. date2 = date2!=null?date2:Date.isDateHHMM(d2)
100. date2 = date2!=null?date2:Date.isDateHHMMSS(d2);
101. if(date1==null||date2==null){
102. alert("日期格式不正确!");
103. return false;
104. }
105. if(date1<=date2){
106. return true;
107. }else{
108. return false;
109. }
110. }else if((typeof d1 == 'string' && d1.constructor == String) && (typeof d2 == 'object' && d2.constructor == Date)){
111.
112. var date1 = Date.isSimpleDate(d1)!=null?Date.isSimpleDate(d1):Date.isDateHH(d1);
113. date1 = date1!=null?date1:Date.isDateHHMM(d1);
114. date1 = date1!=null?date1:Date.isDateHHMMSS(d1);
115. if(date1==null||d2==null){
116. alert("日期格式不正确!");
117. return false;
118. }
119. if(date1<=d2){
120. return true;
121. }else{
122. return false;
123. }
124. }else if((typeof d1 == 'object' && d1.constructor == Date) && (typeof d2 == 'string' && d2.constructor == String)){
125.
126. var date2 = Date.isSimpleDate(d2)!=null?Date.isSimpleDate(d2):Date.isDateHH(d2);
127. date2 = date2!=null?date2:Date.isDateHHMM(d2)
128. date2 = date2!=null?date2:Date.isDateHHMMSS(d2);
129. if(d1==null||date2==null){
130. alert("日期格式不正确!");
131. return false;
132. }
133. if(d1<=date2){
134. return true;
135. }else{
136. return false;
137. }
138. }else{
139. alert("无法判断输入数据类型!");
140. return false;
141. }
142.}
分享到:
相关推荐
### JS日期计算:掌握日期操作的艺术 在JavaScript中,日期计算是前端开发中常见的需求之一,无论是处理用户界面中的日期选择、数据统计还是时区转换,掌握日期对象及其方法都是必不可少的技能。本文将深入探讨如何...
根据给定的文件内容,我们可以总结出以下几个JavaScript中与日期处理相关的知识点: ### 1. 格式化日期 在JavaScript中,有时我们需要将日期格式化为特定的格式,例如`YYYY-MM-DD`。文件中提供了`formatDate`函数...
使用js计算日期之间的差值不使用内置方法,无兼容问题,建议JS新手学习使用
`WdatePicker`是一款功能丰富的JavaScript日期选择插件,由中国Web开发社区开发,支持多种日期格式,提供多种语言环境,并且具有日期计算、日期限制、日期校验等功能。其使用非常简便,只需要在HTML中添加一个`...
kettle中使用js计算两个日期之间的天数
以下是对几款优秀的JavaScript日期插件的详细说明,这些插件能够帮助你精确到日期、小时、分钟甚至秒,提升你的项目质量。 1. **jQuery UI Datepicker** jQuery UI的Datepicker是广泛使用的日期选择器插件,它可以...
5. **时间戳**:`getTime()`方法返回从1970年1月1日以来的毫秒数,这在进行日期计算时非常有用。 6. **日期增加/减少**:`setDate()`, `setMonth()`, `setFullYear()`等方法可以用来增加或减少日期的各个部分。 7....
在本“JS时间日期源码集锦”中,我们将会探讨JavaScript处理时间日期的各种方法和技巧,以及如何创建炫酷的时间日期相关特效。 一、JavaScript中的日期对象 在JavaScript中,Date对象是内置的构造函数,可以用来...
调用简单,下拉传一日期加类型即可转换日期的类型,如: CalConvert(new Date(2010,3,19), false) //农历转换为公历 CalConvert(new Date(2010,3,19), true)//公历转换成农历
- 应考虑到闰年和平年对日期计算的影响。 #### 扩展知识点 - **国际化与本地化**:在处理涉及多语言或多地区的日期时,可以考虑使用 `Intl.DateTimeFormat` 或第三方库如 `moment.js` 来支持不同语言和地区的日期...
在"js日期空间"这个控件中,可能还包含了自定义样式、动画效果、日期计算(如加减日期)、日期比较等功能。开发人员可以通过分析提供的"日期javaScript"文件来了解其具体实现方式。此外,这个控件可能还考虑了浏览器...
这个控件不仅能够提供基本的日期选择功能,还可能包含日期范围选择、日期计算、日期格式化等高级特性。 My97 DatePicker的使用方法通常包括引入CSS和JS文件,然后在需要添加日期选择的地方调用其提供的函数。例如:...
在JavaScript编程领域,日期控件是一种常见的用户界面组件,它允许用户方便地选择或输入日期。在网页开发中,尤其在处理表单提交或者时间相关的交互时,js日期控件显得尤为重要。本压缩包文件提供了几个经过测试的...
在JavaScript(JS)中,计算两个日期之间的差值是一项常见的任务,这可能涉及到日期的比较、日期间隔的计算,以及各种日期格式的处理。在给定的资源中,虽然没有直接提供具体的源码,但我们可以根据标题和标签来推测...
- **JS1.html, JS2.html, JS3.html, js4.html**:这些可能是包含不同JS日期控件实现的HTML文件,每个文件可能演示了不同的控件设计或功能,如基本的日历选择、日期计算等。 - **0101245R011.html**:文件名无法...
### 一、JavaScript日期对象的基本用法 在JavaScript中,`Date` 对象用于处理日期与时间。通过这个对象,我们可以获取和设置日期的不同部分,比如年份、月份、日等。同时,它还提供了计算两个日期之间的时间差以及...
在这种情况下,JavaScript社区开发了许多日期处理库,比如Moment.js、date-fns、Luxon等。这些库提供了更强大的功能,如时区支持、复杂的日期格式化、日期时间的加减操作、日期比较等。例如,Moment.js允许你用`...
"功能强大"这一标签暗示了这个控件不仅有基本的日期选择功能,还可能包含其他高级特性,比如日期范围选择、日期限制、时间选择、多语言支持、自定义格式化、日期计算、时间戳转换等。这些功能可以使开发者更灵活地...
这个JS能计算当前日期和指定日期的时间差
本文将深入探讨“带农历的js日期源码”这一主题,帮助开发者理解如何在JavaScript中实现农历日期功能。 首先,JavaScript原生并不支持农历日期处理,因此我们需要引入额外的库或者自定义函数来实现这个功能。这款...