JSON格式在传输时只能传输一些基本数据类型,如String、Number、Boolean。因此我想你说的date类型只是JSON数据中的一个字符串,例如:
var json = {
date : '2013-02-26 10:50:22'
}
你可以通过一个正则表达式来判断是否为日期格式,如:
var reg = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/
var isDate = reg.test(json.date)
alert(isDate)
利用JS内置函数Date先把日期格式化,然后用getTime()方法获得毫秒数,然后进行比较
<script type="text/javascript">var a = new Date("2016-12-12")
var date1 = a.getTime()
var b = new Date("2016-12-31")
var date2 = b.getTime()
if (date1 > date2) {
alert("第一个日期大!")
} else {
alert("第二个日期大!")
}
</script>
也可以自定义函数来比较,这个比较好点
<script type="text/javascript">function dateCompare(date1,date2) {
var a = new Date(date1)
var b = new Date(date2)
if (a.getTime() > b.getTime()) {
alert(date1+"比"+date2+"大")
} else {
alert(date2+"比"+date1+"大")
}
}
dateCompare("2016-12-12","2011-12-12")
</script>
其实不用getTime()这个方法,直接用Date()格式化的值也可以直接把两个日期比较出来的,只不过换算成毫秒比较好理解。我那里的函数,少了一个相等情况的判断,不过总体意思是差不多的。