javascript中验证日期(Date)字符串转换为日期(Date)对象的不同情况结果

来源:互联网 发布:巴厘岛旅游攻略知乎 编辑:程序博客网 时间:2024/05/29 12:30

因近日一个项目中要在客户端判断用户输入的日期字符串的大小,所以对日期字符串转日期对象研究了一下,测试代码如下:

 

<script. type="text/javascript">
 var sDate1 = "2008/04/02";
 var sDate2 = "2005/03/01";

 var oDate1 = new Date(sDate1);
 var oDate2 = new Date(sDate2);

 if (oDate1 > oDate2)//输出 2008/04/02 大于 2005/03/01
 ...{
  document.write(sDate1 + " 大于 " + sDate2);
 }
 else
 ...{
  document.write(sDate1 + " 小于(等于) " + sDate2);
 }

 document.write("<br/>" + new Date("2000/01/02"));//输出Sun Jan 2 00:00:00 UTC+0800 2000
 document.write("<br/>" + Date("2000/01/02"));//输出Wed Dec 05 10:18:33 2007
 document.write("<br/>" + new Date("2000-01-02"));//输出NaN
 document.write("<br/>" + Date("2000-01-02"));//输出Wed Dec 05 10:18:33 2007
</script>

结论:
Date(日期)型字符串,要想正确的转换为Date(日期)对象,必须用new Date(str)方式,直接用Date(str)强制转换将得到错误结果,另外转换时Date字符串的格式为"年/月/日"(也许还有其它写法,这里只测试了yyyy/mm/dd确实是可行的),而另一种很常见的"年-月-日"的表示方式,转换后将得到错误结果

原创粉丝点击