js中字符串转换为日期和比较大小

本文转载于:http://yun342173024.iteye.com/blog/1873756
在做前端校验的时候,要做日期比较的校验,在js中把字符串转化为日期,一时之间还真不知道在js中怎么把一个字符串格式的日期转化为Date,查看了一些资料,在此分享下。
下面以调用js中Date(year,month,day)来生成一个日期对象。 

1.把字符串格式转换为日期的函数,函数接受两个参数,dateStr字符串日期格式,  separator日期格式分隔符,默认是-。,这里没有对字符串的日期格式做校验,因为大部分的日期都是通过日期控件选择的,在此没做校验。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var stringToDate = function(dateStr,separator){ 
                            if(!separator){ 
                                separator="-"
                            
                            var dateArr = dateStr.split(separator); 
                            var year = parseInt(dateArr[0]); 
                            var month; 
//处理月份为04这样的情况                          if(dateArr[1].indexOf("0") == 0){ 
                                month = parseInt(dateArr[1].substring(1)); 
                            }else
                                 month = parseInt(dateArr[1]); 
                            
                            var day = parseInt(dateArr[2]); 
                            var date = new Date(year,month -1,day); 
                            return date; 
                        

 

 2.js中的日期比较,直接可以使用 > < 操作符用来比较日期对象,比如下面的函数,比较两个日期对象,但是不能用 == 直接比较日期,所以这里用毫米数比较 
var compareDate = function(date1,date2){  
   return date1> date2;  
  }  
//比较日期相等  
var equals = function(date1,date2){  
    return date1.getTime() == date2.getTime();  
} 

注意,js中的日期对象的月份是0-11,不是1-12。把字符串格式转化为日期格式是应把月份减去一,比如你把“2013-12-21”转化为时间类型,会是2014-1-21。

 

 

posted @   蜗牛之履  阅读(17197)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示